将输出重定向到Windows中另一个命令的命令行参数
发布时间:2020-12-13 20:42:07 所属栏目:Windows 来源:网络整理
导读:在Windows中,我如何使用脚本/命令的输出作为另一个脚本的参数? (管道在这里不起作用,因为其他脚本不能从标准输入读取) 太澄清了:我有一个需要参数arg的AnotherScript,例如: AnotherScript 12 现在我希望参数(示例中的12)来自脚本的输出,称之为ScriptB.所
在Windows中,我如何使用脚本/命令的输出作为另一个脚本的参数?
(管道在这里不起作用,因为其他脚本不能从标准输入读取) 太澄清了:我有一个需要参数arg的AnotherScript,例如: AnotherScript 12 现在我希望参数(示例中的12)来自脚本的输出,称之为ScriptB.所以我想要一些类似的东西 AnotherScript (ScriptB) AnotherScript实际上是一个需要参数的python脚本,而ScriptB是一个产生一些数字的cygwin bash脚本,所以我想使用它的方式如下: c:Python26python.exe AnotherScript (c:cygwin|bin|bash --login -i ./ScriptB) 谢谢你的回答.但是,考虑到需要费力的“for”构造,我已经重写了AnotherScript以从标准输入中读取.这似乎是一个更好的解决方案.
注意:所有这些都要求命令位于批处理文件中.因此双%符号.
您可以使用for命令捕获命令的输出: for /f "usebackq delims=" %%x in (`ScriptB`) do set args=%%x 然后你可以在另一个命令中使用该输出: AnotherScript %args% 但这会导致%args%包含ScriptB输出中的最后一行.如果它只返回一行,您可以将其转换为一行: for /f "usebackq delims=" %%x in (`ScriptB`) do AnotherScript %%x 在批处理文件外部使用时,必须使用%x而不是%% x. 但是,如果ScriptB返回多行,则会为每条行运行AnotherScript.您可以通过在第一次循环迭代后断开来绕过这个 – 虽然只在批处理文件中: for /f "usebackq delims=" %%x in (`ScriptB`) do AnotherScript %%x & goto :eof (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Microsoft BizTalk Server与Azure AppFabric Service Bus …
- SSH客户端在Windows 7下定期冻结
- Windows Installer和WiX的创建
- windows-server-2008 – 按用户和登录类型过滤安全日志
- Windows – Bower安装包EPERM重命名错误
- Windows平台分布式架构-负载均衡 高并发
- windows – Xampp – 安装SQL Server和Visual Studio后无法
- windows – Segoe UI替代方案:Segoe UI不支持亚洲语言
- 在Windows 10中创建Hyper-V管理员组
- windows-server-2008 – Windows Server 2008 Hyper-V VPS主