我想使用PowerShell脚本调用EXE工具(基于Perl)。
基本上,以下命令在CMD中调用该工具。该工具处理一些文件并创建一个外文件:
tool.exe [OPTIONS] > out.txt
此外,该工具在创建此outfile后会打印一些“结果”。 现在,如何将这个命令放在PowerShell环境中?
我尝试了不同的解决方案,但PowerShell本身始终使用“> out.txt”。该工具无法获取此命令,因此将无法正确创建文件:
& tool.exe '> out.txt'
或带有“”的
& tool.exe "> out.txt"
我该怎么办?
编辑:
tool.exe : 1 directories scanned In ..\Tool_new.ps1:150 Zeichen:1 + & tool.exe > out.kml + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: ( 1 directories scanned:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 22 files failed condition 34 image files read
打印的结果是“扫描了1个目录” +“ 22个文件失败情况” +“读取了34个图像文件”。
答案 0 :(得分:0)
您可以使用:
& tool.exe | Out-File -Path '.\out.txt' -Encoding ascii
答案 1 :(得分:0)
在powershell或ISE中,按预期运行可执行文件的选项是让cmd.exe处理它。这确实增加了很少的开销,并且随着技术的进步,cmd将被淘汰。但是在过渡时期,这是一个不错的选择。
程序的一个示例是...
cmd.exe /c "tool.exe > out.txt"