如何将命令行参数传递给PowerShell ps1文件
多年以来,我一直在使用cmd/DOS/Windowsshell并将命令行参数传递给批处理文件。例如,我有一个文件,zuzu.bat并在其中,我的访问%1,%2等等。现在,我想,当我叫做同样的PowerShell脚本when I am in a Cmd.exe shell。我有一个脚本,xuxu.ps1(并且我已经将PS1添加到我的PATHEXT变量中,并与PowerShell关联了PS1文件)。但是无论我做什么,我似乎都无法从$args变量中得到任何东西。它的长度始终为0。 如果我在PowerShell外壳中,而不是cmd.exe,它可以工作(当然)。但是我还不够舒适,无法全职生活在PowerShell环境中。我不想打字powershell.exe -command xuxu.ps1 p1 p2 p3 p4。我要输入xuxu p1 p2 p3 p4。 这可能吗?如果可以,怎么办? 我无法上班的示例很简单,foo.ps1: Write-Host "Num Args:" $args.Length; foreach ($arg in $args) { Write-Host "Arg: $arg"; } 结果总是这样的: C:\temp> foo Num Args: 0 C:\temp> foo a b c d Num Args: 0 c:\temp>