powershell - 使用“>”调用 .EXE-Tool - 命令内部/作为参数
问题描述
我想用 PowerShell 脚本调用一个 EXE 工具(基于 Perl)。
基本上以下命令在 CMD 中调用该工具。该工具处理一些文件并创建一个输出文件:
tool.exe [OPTIONS] > out.txt
该工具还在创建此输出文件后打印一些“结果”。现在,我怎样才能把这个命令放在 PowerShell 环境中呢?
我尝试了不同的解决方案,但 PowerShell 本身总是使用“> out.txt”。该工具无法获取此命令,也无法正确创建文件:
& tool.exe '> out.txt'
或用“”:
& tool.exe "> out.txt"
我能做些什么?
编辑:
tool.exe:扫描了 1 个目录 在 ..\Tool_new.ps1:150 Zeichen:1 + & 工具.exe > out.kml + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:未指定:(扫描的 1 个目录:String)[],RemoteException + FullyQualifiedErrorId : NativeCommandError 22 个文件失败条件 读取 34 个图像文件
“1 个目录扫描”+“22 个文件失败条件”+“34 个图像文件读取”是打印的结果。
解决方案
在 powershell 或 ISE 中按预期运行可执行文件的一个选项是让 cmd.exe 处理它。这确实增加了一点点开销,并且随着技术的进步 cmd 将被逐步淘汰。但对于我们所处的过渡期,这是一个不错的选择。
你的程序的一个例子是......
cmd.exe /c "tool.exe > out.txt"
推荐阅读
- ballerina - Ballerina 是否支持或计划支持 XQuery 和/或 XSLT?
- excel - Excel 公式帮助(从列中的值减去 1 直到 0,然后移动到下一个值)
- amazon-web-services - 发布到 Amazon Web Services 后如何引用 Web 服务
- typescript - 投射对象时出现运行时错误
- c# - 如何合并两个复杂类型的 HashSet 并保留第二组的重复项?
- php - PHP:在函数内部调用函数后的If语句
- android - 如果来自不同库/sdks 的两个具有不同版本号的 resolutionStrategy 会得到什么?
- python - Python:numpy,pandas,并对前一个数组值执行操作(平滑平均值):有什么方法可以不使用 FOR 循环?EWMA?
- php - 如何将html和php结果保持在一行
- iis - 尝试查询 Active Directory 时出错 - 需要应用程序池回收