如何将Powershell脚本的工作目录设置为脚本的同一目录,这样无论您从哪个目录调用它,它总是会查找脚本根目录中的文件?
例如,如果您按如下方式调用foo.ps1:
c:> d:\MyScript\foo.ps1
foo.ps1会将工作目录设置为d:\ MyScript \,这样当它 - 例如 - 查找配置文件时,它不会在C:\中搜索它,而是在d:\ MyScript \
答案 0 :(得分:3)
使用以下代码检索脚本文件夹的路径:
Split-Path $MyInvocation.MyCommand.Path
您可以在脚本开头使用Set-Location (Split-Path $MyInvocation.MyCommand.Path)
,也可以在脚本开头使用Push-Location (Split-Path $MyInvocation.MyCommand.Path)
,最后使用Pop-Location
。