我已将 Windows 终端(预览版)固定到任务栏我使用 启动它win+t
。我试图实现与alt+f+r
文件资源管理器中目录内部类似的功能,该功能powershell
在当前目录中打开。我尝试将 设置startDirectory
为profiles.json
和null
“ "."
~”,但都不起作用。
我认为如果我从任务栏启动终端,它就不可能知道我当前在哪个目录中,如果是这样,有没有办法通过文件资源管理器启动它(最好仅使用键盘快捷键)并让终端 shell 在当前目录中打开?
答案1
您可以使用免费的键重新映射产品 自动热键。
F12这是一个脚本,当单击时,它将在资源管理器中的当前文件夹上启动 Windows 终端。
#IfWinActive ahk_class CabinetWClass
~F12::
ControlGetText, _Path, toolbarwindow322, ahk_class CabinetWClass
StringReplace, _Path, _Path,% "Address: ",% ""
Run "wt.exe", %_Path%
安装 AutoHotKey 后,将上述文本放入一个.ahk
文件中并双击进行测试。您可以通过右键单击托盘栏中的绿色 H 图标并选择退出来停止脚本。要让它在登录时运行,请将其放在 的启动组中
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
。
要选择其他热键F12,请参阅 AutoHotkey 密钥列表。
您还可以通过以下方式将其添加到 shell 上下文菜单中: 此方法:
- 启动
regedit
并导航至密钥HKEY_CLASSES_ROOT\Directory\Background\shell
- 右键单击
shell
并选择New > Key
,也许将其命名为Windows Terminal
- 右键单击新
Windows Terminal
键并再次选择New > Key
,将其命名command
- 在新的
command
密钥文件夹中,双击(Default)
右侧的密钥并将其设置为可执行文件的路径,然后单击“确定”。
您可能无法将命令设置为
\path\wt.exe "%V"
,因为 Windows 终端不接受参数,因此您需要使用批处理文件,\path\script.bat "%V"
其中批处理文件如下所示:
cd "%1"
start "" \path\wt.exe
答案2
您可以将 PowerShell 添加到快速访问工具栏,然后使用例如Alt+ 3。数字取决于该工具栏上命令的位置。
答案3
总结:这个答案将使你能够使用Shift+上下文菜单键,t(或 Shift+F10、t)在文件夹背景、选定文件或选定文件夹上单击,它将在打开文件夹的路径、选定文件的路径或选定文件夹的路径中打开 Windows 终端。它还具有打开提升版本的选项。
下面是关于在资源管理器的上下文菜单中添加“打开 Windows 终端命令提示符”的文章的链接,其中包括提升版本的快捷方式以及可以使用 Shift + 上下文菜单键(如果没有上下文菜单键,则为 Shift + F10)访问的键盘快捷键。
笔记:如果为“t”分配了多个菜单项,则您必须按“t”直到选中所需的选项,然后按 Enter。您还可以通过移动菜单文本中的 & 将“t”更改为您想要的任何内容,甚至可以向字符串中添加字符以使其唯一,这样您就可以避免按 Enter。
如果您希望它打开 powershell 而不是命令提示符,那么您可以修改文章中的注册表值,并将命令键默认值中的“命令提示符”更改为“Windows Powershell”。如果您希望它打开 Ubuntu shell,请将“命令提示符”更改为您已安装的特定名称,例如“Ubuntu-18.04”。有关更多命令行选项,请参阅下面的 Microsoft 链接。
WT.exe 命令行参数:https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows
有关在资源管理器中的上下文菜单中添加打开管理命令提示符的类似文章:https://dkcool.tailnet.net/2019/05/add-open-admin-command-prompt-to-the-explorer-context-menu-in-windows-10/
答案4
这是我的 AHK 秘诀。如果您在文件资源管理器窗口中按下 F12,它会发送 Alt+D,然后发送 Ctrl+C 以获取当前路径。然后,它会运行“wt.exe -d [当前路径]”命令并清除剪贴板:
#IfWinActive ahk_class CabinetWClass
~F12::
send, !d
Sleep, 100
send, ^c
Sleep, 100
command = wt.exe -d "%Clipboard%"
Clipboard := ""
Run, %command%
Return