这听起来应该很简单……我一定很笨。
我想要的只是制作一个 Windows 快捷方式,将 Powershell 打开到特定目录:
我正在使用目标:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
-noexit -command {cd c:/path/to/open}
把它作为文本吐出命令。
这听起来应该很简单……我一定很笨。
我想要的只是制作一个 Windows 快捷方式,将 Powershell 打开到特定目录:
我正在使用目标:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
-noexit -command {cd c:/path/to/open}
把它作为文本吐出命令。
使用此命令。
powershell.exe -noexit -command "cd c:\temp"
-NoExit
: 运行启动命令后不要退出。
您还可以将“开始于”快捷方式字段设置为您想要的位置。
好的 - 您需要使用&
参数来指定它是一个 powershell 命令,语法略有不同:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
-noexit -command "& {cd c:\path\to\open}"
尝试:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
-noexit -command "cd c:/path/to/open"
如果您希望 powershell 以管理员身份启动并在特定目录中运行,即使在不同的驱动器上,最好使用该Set-Location
命令。按着这些次序
Start in:
。(通常这在空白时从当前工作目录开始;但我们不在乎。)使用您的 powershell 和位置目标更改Target
为:
C:\Windows\...\v1.0\powershell.exe -noexit -command "Set-Location D:\_DCode\Main"
Advanced...
并选择Run as administrator
。OK
退出。不要忘记从Colors
选项卡更改快捷方式颜色的便捷技巧。这样,如果您有两个或多个打开 powershell 窗口的链接,看到不同的颜色可以直观地让您知道哪个 shell 正在工作。
如果需要资源管理器右键单击选项,请运行此脚本:
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."
}
这是现在显示的内容:
请注意,您可以从如何从 Windows Explorer 启动 PowerShell下载详细的脚本。
将此代码复制到记事本中并使用 reg 扩展名保存。双击生成的文件。如果您收到有关导入注册表的消息,请单击是,然后确定。导航到资源管理器中的任何文件夹并调出上下文菜单。这通常通过单击鼠标右键来完成。
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'"
我只是想添加我的 Developer 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\
.
如果您正在使用Powershell 7 (pwsh)
,只需使用如下-WorkingDirectory
标志:
pwsh -WorkingDirectory "C:\path\to\your\directory"