我正在编写一个脚本,我正在使用.exe完整路径,并且命令与该exe相关。
例如:
路径为C:\Documents and Settings\xx\My Documents\utils.exe
命令是dir |findstr -i xx |findstr -i tr
我的perl代码是
$command='dir |findstr -i xx |findstr -i tr;
$path=C:\Documents and Settings\xx\My Documents\utils.exe
$result= `$path $command`;
我已经尝试了许多内容,例如system
,push @cmd
,在谷歌浏览了很多博客,但我真的无法找到解决方案。
有人可以帮帮我吗?
答案 0 :(得分:1)
如果你扩展了你得到的代码(假设'
行应该有一个结束$command=
。
$result= `C:\Documents and Settings\xx\My Documents\utils.exe dir |findstr -i xx |findstr -i tr`;
注意空格字符。他们的意思是Perl尝试使用参数C:\Documents
运行程序and Settings\xx\My Documents\utils.exe dir
并将其传递到findstr
。
引用可执行文件名应该有助于运行exe:
$result= `"$path" $command`;
另一种可能性是将工作目录更改为C:\Documents and Settings\xx\My Documents
,然后使用以下命令运行程序:
$result= `utils.exe $command`;