如何从Windows Powershell脚本执行perl脚本

时间:2016-10-06 11:13:31

标签: perl powershell

我有以下PowerShell代码:

$HOME_DIR=[Environment]::GetEnvironmentVariable("HOME")
$WORKING_PATH="C:\tests\automation"
$TOOLS_PATH="$WORKING_PATH\Tools"

Start-Process -FilePath "$HOME_DIR\perl\perl.bat" "$TOOLS_PATH\my_perl_script.pl" -ArgumentList 'arg1' 'arg2' -NoNewWindow

我收到错误:

Start-Process : A positional parameter cannot be found that accepts argument 'C:\tests\automation\Tools\my_perl_script.pl'.
At C:\RunUIAutomaionTests.ps1:46 char:14
+ Start-Process <<<<  -FilePath "$HOME_DIR\perl\perl.bat" "$TOOLS_PATH\my_perl_script.pl"
-ArgumentList 'arg1' 'arg2' -NoNewWindow
&emsp;&emsp;+ CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
&emsp;&emsp;+ FullyQualifiedErrorId :<br>&emsp;&emsp;PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

我缺少什么?我应该如何使用my_perl_script.pl使用参数perl.bat'arg1'执行'arg2'

1 个答案:

答案 0 :(得分:0)

为什么这么复杂? 您可以像这样直接调用perl: ...

  

$ TOOLS_PATH = “$ WORKING_PATH \工具”   ...

perl $ TOOLS_PATH \ my_perl_script.pl arg1 arg2

确保perl可执行文件位于Windows路径