为了在同一目录下运行脚本。
在
PowerShell 3.0及更高版本中,您可以使用自动变量
$PSScriptRoot
:
$PSScriptRoot/myScript1.ps1
在 PowerShell 1.0 和 2.0 中,您应该使用此特定属性:
& "$(Split-Path $MyInvocation.MyCommand.Path)/myScript1.ps1"
你应该使用这个而不是其他的原因可以用这个示例脚本来说明。
Write-Host "InvocationName:" $MyInvocation.InvocationName
Write-Host "Path:" $MyInvocation.MyCommand.Path
这里是一些结果。
PS C:\Users\JasonAr> .\ScriptTest.ps1
调用名称:.\ScriptTest.ps1
路径:C:\Users\JasonAr\ScriptTest.ps1
PS C:\Users\JasonAr> . .\ScriptTest.ps1
调用名称:.
路径:C:\Users\JasonAr\ScriptTest.ps1
PS C:\Users\JasonAr> & ".\ScriptTest.ps1"
调用名称:&
路径:C:\Users\JasonAr\ScriptTest.ps1
在 PowerShell 3.0 及更高版本中,您可以使用自动变量 $PSScriptRoot
:
Write-Host "Script:" $PSCommandPath
Write-Host "Path:" $PSScriptRoot
PS C:\Users\jarcher> .\ScriptTest.ps1
脚本:C:\ Users \ jarcher \ ScriptTest.ps1
路径:C:\ Users \ jarcher