如何将PS脚本的工作目录设置为脚本所在的目录?

时间:2013-06-14 13:36:30

标签: .net powershell

如何将Powershell脚本的工作目录设置为脚本的同一目录,这样无论您从哪个目录调用它,它总是会查找脚本根目录中的文件?

例如,如果您按如下方式调用foo.ps1:

c:> d:\MyScript\foo.ps1

foo.ps1会将工作目录设置为d:\ MyScript \,这样当它 - 例如 - 查找配置文件时,它不会在C:\中搜索它,而是在d:\ MyScript \

1 个答案:

答案 0 :(得分:3)

使用以下代码检索脚本文件夹的路径:

Split-Path $MyInvocation.MyCommand.Path

您可以在脚本开头使用Set-Location (Split-Path $MyInvocation.MyCommand.Path),也可以在脚本开头使用Push-Location (Split-Path $MyInvocation.MyCommand.Path),最后使用Pop-Location