如何编写PowerShell脚本调用Windows可执行文件并传递全部参数?
实现批处理等效功能的PowerShell脚本
对应你给出的批处理文件,实现相同参数传递逻辑的PowerShell脚本(可命名为foo.ps1),核心代码非常简洁:
& bar.exe $args
关键说明:
&是PowerShell的调用操作符,用来执行外部可执行文件,即使bar.exe的路径包含空格也能正常工作$args是PowerShell的自动变量,会接收调用脚本时传入的所有参数,作用和批处理里的%*完全一致,无参数、单参数、多参数场景都能适配
如果需要完全模拟批处理@ECHO OFF的静默执行效果(避免PowerShell输出任何额外信息),可以稍作调整:
@(& bar.exe $args)
@()会将命令输出包裹为数组形式,即使目标程序没有输出内容,也不会产生额外的控制台输出,和批处理的静默执行效果完全匹配。
内容的提问来源于stack exchange,提问作者Garret Wilson
相关产品推荐
相关产品推荐

