通过快捷方式在特定目录中打开Powershell


74

听起来应该很简单...我一定很傻。

我想要做的是使Windows快捷方式将Powershell打开到特定目录:

我正在使用目标:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
    -noexit -command {cd c:/path/to/open}

放它只是吐出命令作为文本。

Answers:


123

使用此命令。

powershell.exe -noexit -command "cd c:\temp"

-NoExit:运行启动命令后不要退出。


18
'如果您的路径中有空格,则需要包含s:powershell.exe -noexit -command "cd 'c:\a path with spaces\readme.txt'"
blachniet

正是我想要的。附加引号是必需的,包括在使用内插路径时。
Aluan Haddad

6
如果我们正在谈论任何快捷方式(如技巧和窍门),那么就是这样:如果您位于Windows资源管理器中所需的文件夹中,则可以键入powershell地址栏,它将在该位置打开PowerShell。这也适用于cmdWindows可以通过PATH环境变量找到的任何其他应用程序。
Sameer Singh

知道为什么这些解决方案以黑色CMD样式窗口而不是标准的蓝色PS窗口打开PS吗?
Bubbleking

谢谢,我用它来避免在Android Studio中使用终端,因为该终端由于错误而无法执行命令。
Piero

41

您也可以将“开始于”快捷方式字段设置到所需的位置。


1
到目前为止,最简单的解决方案,尤其是如果您尝试使用带有空格或奇数字符的路径(例如,Program Files(x86)下的任何内容)
Henry Wilson

18
“开始于”对我不起作用,仍然在c:\ windows \ system32中开始。
MattiasÖrtenblad2014年

15
是的,如果快捷方式已选中“以管理员身份运行”,则此方法无效。
云母

2
当您将该Start in字段留空时,它甚至更凉爽,因为它随后在当前位置打开。
t3chb0t

这是最适合我的解决方案。我制作了一个现有快捷方式的副本,命名为“-Vagrant”,然后将其VagrantFile所在的路径设置为“开始于”。现在,我只需按一下快捷方式并“无所事事”即可开始工作。
Caleb

9

好的-您需要使用&参数来指定它是一个powershell命令,并且语法略有不同:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
-noexit -command "& {cd c:\path\to\open}"


我在使用PowerShell.hyper.js,我用这个解决方案,如:shellArgs: ['-noexit', '& {cd "$HOME\\my old documents"}']。我无法工作['-noexit', '-command', '"cd "$HOME\\my old documents"']['-noexit', '-command "cd "$HOME\\my old documents"']无法工作。
vulcan raven

1
旧帖子,但只是帮助了我:)我已经厌倦了以管理员身份进入system32目录的方法。谢谢
兰迪·R

5

尝试:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
-noexit -command "cd c:/path/to/open"

4

如果您希望Powershell以admin身份启动并在特定目录(甚至在其他驱动器上)中运行,则最好使用该Set-Location命令。按着这些次序

  1. 创建一个ShortCutLink,目标为powershellcommand exe。
  2. Start in:空白。(通常,此选项在空白时从当前工作目录开始;但是我们不在乎。
  3. 更改Target为Powershell和位置目标:

    C:\Windows\...\v1.0\powershell.exe -noexit -command "Set-Location D:\_DCode\Main"

  4. 单击Advanced...并选择Run as administrator
  5. 单击OKs。

不要忘记从Colors选项卡更改快捷方式颜色的便捷技巧。这样,如果您有两个或多个打开Powershell窗口的链接,看到不同的颜色可以直观地让您知道正在使用哪个Shell。


4

为Powershell定义一个快捷方式,并打开其属性,最后在“开始”中键入触发Powershell快捷方式时要打开的文件夹目标


1

将此代码复制到记事本中,并使用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'"

1

如果希望浏览器右键单击选项,请运行以下脚本:

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的详细脚本。


0

我只想添加我的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\}"

这将在中启动Developer Powershell(VS 2019)c:\dev\

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.