【发布时间】:2015-05-12 02:40:18
【问题描述】:
Powershell 新手在这里。
使用 PowerGUI 脚本编辑器,我将 PS1 编译为 EXE。当我运行 EXE 时,它看不到传递的参数。我从 PowerGUI 脚本编辑器中的 PowerShell 控制台运行它们。
这是程序代码。
param([string]$foo , [string]$bar , [string]$who)
Write-Host "Arg0: $foo"
Write-Host "Arg1: $bar"
Write-Host "Arg2: $who"
这是测试结果 --调用EXE--
PS C:\test> .\blat2.exe it bugs me
Arg0:
Arg1:
Arg2:
--调用PS1--
PS C:\test> .\blat2.ps1 it bugs me
Arg0: it
Arg1: bugs
Arg2: me
问题的另一个转折点:
另一个事实是我无法更改调用 Blat2.exe 的程序或它如何将参数传递给 blat2.exe。
一个典型的命令行是
blat2.exe -t something anotherthing
所以预期的参数是
-t
something
anotherthing
我的问题是,如果它是 PS1 运行,我可以让 $args 显示出来,但是在编译后它们会退出显示。这就像编译阻止程序接受参数一样。
作为一个新手,我很确定我犯了一个新手错误。
为什么EXE版本不能识别传入的参数?
【问题讨论】:
标签: powershell-2.0