如何使 Windows 成为将 Powershell 打开到特定目录的快捷方式?
比如目标:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command {cd c:/path/to/open}
但是它只是以文本的形式输出命令,怎么做呢?
好的-你需要使用 &参数来指定它是一个 Powershell 命令 & 语法稍有不同:
&
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command "& {cd c:\path\to\open}"
使用这个命令。
powershell.exe -noexit -command "cd c:\temp"
-NoExit: 不要在运行启动命令后退出。
-NoExit
尝试:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command "cd c:/path/to/open"
您还可以将“开始”快捷方式设置为您所需的位置。
将此代码复制到记事本中,并用 reg 扩展名保存。 双击生成的文件。如果您得到一条关于导入到注册表的消息,请单击 yes,然后确定。 导航到资源管理器中的任何文件夹并打开上下文菜单。这通常是通过单击鼠标右键来完成的。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\PShell] "MUIVerb"="Open in Powershell Window" [HKEY_CLASSES_ROOT\Directory\Background\shell\PShell\command] @="c:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"
如果需要浏览器,右键单击选项,运行下面的脚本:
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT if(-not (Test-Path -Path "HKCR:\Directory\shell\$KeyName")) { Try { New-Item -itemType String "HKCR:\Directory\shell\$KeyName" -value "Open PowerShell in this Folder" -ErrorAction Stop New-Item -itemType String "HKCR:\Directory\shell\$KeyName\command" -value "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location '%V'" -ErrorAction Stop Write-Host "Successfully!" } Catch { Write-Error $_.Exception.Message } } else { Write-Warning "The specified key name already exists. Type another name and try again." }
这就是现在所显示的情况:
注意,您可以从 如何从文件资源管理器启动 PowerShell下载详细的脚本。
如果希望 powershell 以管理员身份启动并在特定目录中运行,即使是在不同的驱动器上,最好使用 Set-Location命令。按照以下步骤操作
Set-Location
Start in:
Target
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command "Set-Location D:\_DCode\Main"
Advanced...
Run as administrator
OK
不要忘记从 Colors选项卡更改快捷方式颜色的方便技巧。这样,如果您有两个或多个打开 Powershell 窗口的链接,看到不同的颜色可以直观地让您知道哪个 shell 正在工作。
Colors
为 Powershell 定义一个快捷方式,并打开该快捷方式的属性,最后在“开始”中键入要在触发 Powershell 快捷方式时打开的文件夹目标
我只是想添加我的开发者 Powershell 链接... 为记录。
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -noe -c "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell d998f19b; cd c:\dev\}"
这将启动 c:\dev\中的 Developer Powershell (VS2019)。
c:\dev\
如果您正在使用 Powershell 7 (pwsh),只需像下面这样使用 -WorkingDirectory标志:
Powershell 7 (pwsh)
-WorkingDirectory
pwsh -WorkingDirectory "C:\path\to\your\directory"
如果您喜欢用您喜欢的命令行 shell 启动 Windows Terminal,可以使用:
wt.exe -d "c:\temp"