在 Windows 中,您还可以使用系统变量 PATH 来定义可执行文件的位置。
假设您只使用 Powershell,您可以执行以下等效操作:
$newPath = "c:\tmp\MyScriptPath";
[Environment]::SetEnvironmentVariable('PATH', "$($env:Path);$newPath", [EnvironmentVariableTarget]::User);
# Update the path variable in your current session; next time it's loaded directly
$env:Path = "$($env:Path);$newPath";
然后您可以直接在 Powershell 中使用脚本名称执行您的脚本。
但是_:这在 cmd 下不起作用,因为 cmd 不知道如何将 ps1 脚本作为可执行文件处理。通常可以通过调用以下命令从 cmd 执行脚本:
Powershell.exe -executionpolicy remotesigned -File C:\Tmp\Script.ps1
如果这对您来说“不可接受”,最简单的方法是创建一个 bat 脚本以及您的 ps1 脚本(相同的路径)并添加以下内容:
Script.bat(假设您在同一文件夹中有 Script.ps1):
@ECHO OFF
PowerShell.exe -Command "& '%~dpn0.ps1'"
PAUSE
这将在您的 cmd 中的任何位置创建调用脚本所需的包装器,因为可以从 cmd 执行批处理文件