powershell脚本将其转换为.exe文件并执行后,输出不正确:
$MyScriptName = $MyInvocation.MyCommand.Name
上面是我的powershell代码的一部分,可以正常工作并将脚本名称保存在$MyScriptName
变量中。
将.ps1-脚本转换为.exe文件并执行后,变量$MyScriptName
的值为空。
答案 0 :(得分:0)
将脚本转换为可执行文件后,脚本相关变量将不可用。您可以在 Github 上 Markus Scholtes 的 PS2EXE-GUI 版本 (Win-PS2EXE) 发布页面上找到有关它的信息:MDN
这是您需要添加到脚本中的代码。
if ($MyInvocation.MyCommand.CommandType -eq "ExternalScript")
{ $ScriptPath = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition }
else
{ $ScriptPath = Split-Path -Parent -Path ([Environment]::GetCommandLineArgs()[0]) }