Fra*_*umn 9 powershell command-line windows-terminal
我时不时运行的 power shell 和 cmd 脚本很少。当我单击 bat 脚本时,它会打开一个经典的 CMD 窗口。当我运行 PS1 脚本时,它会打开经典的 PowerShell 窗口。
当我运行它们时,是否可以默认在新的 Windows 终端中打开它们?不,我不想打开终端、导航到脚本并运行它。我只想单击 .bat 并让它在 Windows 终端应用程序内的 CMD 窗口中运行。
这可以做到吗?
我尝试找到终端 exe,以便将 ps1 文件设置为用它打开,但当我尝试这样做时出现错误。请参阅屏幕截图。
谢谢!
我将其放在这里是因为它太短,无法发表评论,并且您不是在询问 PowerShell 代码问题/问题,而是询问“如何配置我的环境/选择的工具,以执行 X 或 Y”。
即使您对此进行了重新修改,它仍然只会运行您在 JSON 设置中配置的默认 shell/命令处理器。那么,为什么要启动 shell 主机,只是为了运行 shell/命令处理器。
NotTheDr01ds
当右键单击 .ps1 文件并尝试将其更改为 WT.exe 时,显示的内容已经是默认值,这将无法像您想象的那样工作。
您可以首先使用 WinKey + R 并输入以下内容来向自己证明这一点。一个不行,另一个行。
wt d:\scripts\hello.ps1
# Results - error and locks WT
<#
[error 0x800700c1 when launching `d:\scripts\hello.ps1']
#>
wt powershell -noprofile -noexit d:\scripts\hello.ps1
# Results - runs the script as expected
<#
Hello World
Tuesday, 23 March, 2021 20:15:28
#>
Run Code Online (Sandbox Code Playgroud)
因此,任何 reg hack 都需要您指定命令处理器、文件名以及成功运行所需的任何参数。正如我的评论中所指出的。您可以避免重新修改,只需创建一个快捷方式并将该快捷方式添加到您的 SendTo 菜单中即可。在 Windows 资源管理器中,只需键入...
shell:SendTo
Run Code Online (Sandbox Code Playgroud)
或者在 PowerShell 中执行以下操作:
explorer shell:SendTo
Run Code Online (Sandbox Code Playgroud)
...并将您的快捷方式粘贴到那里(我那里有很多),然后您必须更改设置。
# Example:
"C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.6.10571.0_x64__8wekyb3d8bbwe\wt.exe" powershell -noprofile -noexit
Run Code Online (Sandbox Code Playgroud)
我提前告知您,这遇到了一些问题。
有时有效,有时无效。
当然,现在,如果您想对任何命令处理器执行此操作,那么您需要创建多个快捷方式,根据需要更改它们,并将它们粘贴到 SendTo 文件夹,然后右键单击您的文件,然后选择正确的快捷方式发送至快捷方式。
归档时间: |
|
查看次数: |
20432 次 |
最近记录: |