如何设置powershell默认目录?

You*_*bat 89 windows powershell

有没有办法改变Powershell的默认位置?

你如何设置Powershell的默认工作目录?

Jer*_*yow 155

创建PowerShell配置文件:

  1. 以管理员身份运行powershell并执行以下命令:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    这将允许PowerShell运行本地脚本,以及从已签名的Internet下载的脚本.在文档中阅读有关此命令的更多信息.

  2. 在您的Documents文件夹中,找到名为的目录WindowsPowerShell.如果它不存在,那没关系,只需创建它.

  3. 创建一个名为新文件profile.ps1WindowsPowerShell的文件夹.
  4. 打开profile.ps1并添加以下命令以设置默认工作目录:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

  5. 打开一个新的PowerShell窗口......更改应该已生效.

  • 这是一个非常糟糕的方法,因为如果您有一个构建脚本(例如visual studio构建脚本)并且您想运行ps命令,那么命令的工作目录将被设置为该位置,所以它基本上会使用powershell打破所有脚本,如`powershell -File"myscript.ps1"` (6认同)
  • 让我纠正自己。在编写Powershell脚本(例如用于构建)时,请始终使用-NoProfile选项,例如`powershel -NoProfile -File“ myscript.ps1” (4认同)
  • “Set-Location”指令对我有用,但配置文件的名称需要不同。如果您在 PowerShell 中键入“$Profile”,您将获得 PowerShell 正在使用的配置文件的名称和位置。然后输入“vim $Profile”(或您使用的任何编辑器)来编辑同一文件。 (4认同)
  • 运行:"Set-ExecutionPolicy -ExecutionPolicy RemoteSigned"你可以在这里阅读:https://technet.microsoft.com/en-us/library/ee176961.aspx它不允许从互联网下载的脚本运行,除非他们来自可靠的来源. (3认同)
  • 如果这是一个糟糕的选择,是否有更好/更安全的方法呢? (2认同)

Pet*_*orf 54

您可以在启动PowerShell时指定要打开的目录:

powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Run Code Online (Sandbox Code Playgroud)

只需在快捷方式中使用它.

或使用配置文件设置开始目录.

  • 对于 PS Core:``pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here``` (7认同)
  • 我使用了 `powershell.exe -NoExit -command "& {Set-Location C:\my\path}"` (2认同)

neo*_*rau 28

我在Server 2016中尝试了上述答案但没有成功.

但我发现这种方法(对于Windows 10应该是相同的)为我工作.

  1. 启动Powershell
  2. 在任务栏中右键单击并固定以保持链接
  3. 再次右键单击任务栏中的图标,然后右键单击Windows PowerShell并选择" 属性"
  4. Start in:输入字段中输入首选目录,然后按OK
  5. 从任务栏图标开始

完成!

在相同的属性对话框中,您还可以更改许多其他设置,如字体,颜色,大小和快捷选项卡上的按钮高级,您可以选择是否以管理员权限运行Powershell.

  • 当您在`.lnk`高级菜单中选中"以管理员身份运行"时,更改工作目录似乎不起作用.解决方案似乎在这里http://stackoverflow.com/questions/31622469/run-as-administrator-changes-batch-file-current-directory-sometimes (4认同)

小智 11

在 PowerShell 中输入:

New-Item -path $profile -type file –force
Run Code Online (Sandbox Code Playgroud)

它会在 PowerShell 文件夹中创建一个 .ps1 文件。打开它,并将其编辑为:

Set-location C:\files
Run Code Online (Sandbox Code Playgroud)

完毕

请参阅此链接。它工作正常。

更改 PowerShell 启动目录


小智 7

设置默认目录的一种简单方法如下:

  1. 右键单击Windows PowerShell图标,然后固定到“开始”
  2. 右键单击“开始”中的Windows PowerShell图标,然后再次右键单击Windows PowerShell并选择“属性”(不是“以管理员身份运行”而不是Windows PowerShell ISE

    在此处输入图片说明

    1. 在“ 快捷方式”选项卡->“开始于”字段中,更改为您想要PowerShell启动的位置。

    在此处输入图片说明


小智 7

Write-Output "Set-Location C:\" >> $profile
Run Code Online (Sandbox Code Playgroud)


小智 7

  1. Microsoft.PowerShell_profile打开下的文件C:\Users\yourusername\Documents\PowerShell

  2. 添加以下行:

    set-location "C:\Whatever\path\you\want\to\set\as\worrkingdir\"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重新启动 PowerShell


小智 6

您可以在 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'}
Run Code Online (Sandbox Code Playgroud)

只需更改函数名称和指向的目录即可。如果路径包含空格,则必须在路径上使用引号。我尝试保留前缀,goto_因为它有助于记住函数的名称。

您可以开始输入goto_,然后按 TAB 循环浏览所有添加的功能(请记住在添加/修改功能后启动一个新的 PowerShell 窗口)。


Leo*_*ngs 5

Set-Location到您的个人资料将无条件改变当前的工作目录,这可能有关于工作目录不必要的后果脚本,您通过“使用PowerShell运行”执行。

另一种解决方案是将.lnk文件的工作目录更改为通常在%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell. 右键单击一个链接,然后将工作目录从更改为%HOMEDRIVE%%HOMEPATH%您想要的目录。