有没有办法更改PowerShell的默认位置?
如何设置PowerShell的默认工作目录?
有没有办法更改PowerShell的默认位置?
如何设置PowerShell的默认工作目录?
Answers:
您可以指定启动PowerShell时要打开的目录:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
只需在您的快捷方式中使用它即可。
或使用配置文件设置开始目录。
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
如下创建PowerShell配置文件。
以管理员身份运行PowerShell并执行以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
这将允许PowerShell运行本地脚本以及从Internet下载的已签名的脚本。在文档中阅读有关此命令的更多信息。
在您的Documents
文件夹中,找到一个名称WindowsPowerShell
为经典PowerShell或PowerShell
更新的PowerShell Core 的文件夹。如果不存在,那没关系;只需创建它。
profile.ps1
在WindowsPowerShell
文件夹中创建一个新文件(或PowerShell
用于PowerShell Core)。打开profile.ps1
并添加以下命令来设置默认工作目录:
Set-Location C:\my\default\working\directory
打开一个新的PowerShell窗口...更改应已生效。
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
我在Windows Server 2016中尝试了以上答案,但未成功。
但是我发现这种方法(对于Windows 10应该是相同的)适用于我。
做完了!
在同一个“ 属性”对话框中,您还可以更改许多其他设置,例如字体,颜色,大小,并在“ 快捷方式”选项卡上通过按钮进行更改Advanced。您可以选择是否以管理员权限运行该PowerShell会话。
Run as aministrator
和来回更改复选框。
设置默认目录的一种简便方法是:
把Set-Location
到您的个人资料将无条件改变当前的工作目录,这可能有关于工作目录不必要的后果脚本,您通过“使用PowerShell运行”执行。
另一种解决方案是将.lnk
文件的工作目录更改为通常在中找到的PowerShell %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
。右键单击链接,然后将工作目录从更改%HOMEDRIVE%%HOMEPATH%
为所需的目录。
-NoProfile
选项的原因 powershell -NoProfile -File "myscript.ps1"
在PowerShell中键入以下内容:
New-Item -path $profile -type file –force
它在PowerShell文件夹中创建一个.ps1文件。打开它,并将其编辑为:
Set-location C:\files
完成了
请参考此链接。它工作正常。
您可以在PowerShell配置文件中编写一个简单的函数,以Set-Location
在必要时快速更改工作目录,而不必像先前的答案中提到的那样无条件地更改工作目录。
检查Jeremy Danyow的答案以创建/修改PowerShell配置文件。
将功能添加到您的PowerShell配置文件:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
只需更改指向的函数名称和目录即可。如果路径中包含空格,则必须在路径上使用引号。我尝试保留前缀,goto_
因为它有助于记住函数的名称。
您可以开始键入,goto_
然后按TAB键以循环浏览所有已添加的功能(请记住在添加/修改功能后启动新的PowerShell窗口)。
这样,“工作目录”和PowerShell的“位置”似乎有些混乱。这里大多数人正在做的事情是说更改PowerShell的“位置”。实际上,“工作目录”是不同的。这是一篇解释它的文章。
对于那些不想阅读该文章的人:打开PowerShell,并使用其他人说的做的Set-Location "C:\some\directory"
。请注意,您的“工作目录”仍然是打开PowerShell的位置。无论是"~"
或"%SYSTEMROOT%\system32"
取决于如果你跑了作为管理员或没有。要检查工作目录,请使用[Environment]::CurrentDirectory
。
注意:在本文中,作者说要使用此命令检查“工作目录”:
\[Environment\]::CurrentDirectory
我不确定这是否适用于旧版PowerShell,但必须使用PowerShell 5(及更高版本)[Environment]::CurrentDirectory
。