好记性不如烂笔头。

PowerShell中获取当前运行脚本路径

$rootPath = Split-Path -Parent $MyInvocation.MyCommand.Definition Set-Location -Path $rootPath

Push-Location

通过内置的$MyInvocation变量:

$x = $MyInvocation.MyCommand.Definition

此时$x的值是当前运行中的脚本的绝对路径,再用Split-Path取它的父路径就可以了:

$x = Split-Path -Parent $MyInvocation.MyCommand.Definition

这样$x的值就是脚本所在的文件夹了

cd (Split-Path -Parent $MyInvocation.MyCommand.Definition)