PowerShell中如何传递参数给EXE以运行其特定功能
在PowerShell中运行带指定参数的EXE程序
嘿,我来帮你捋捋正确的实现方式,你之前写的 "C:\folder\app.exe 1" 其实踩了个小坑——PowerShell会把整个字符串当成一个文件路径去查找,而不是运行app.exe并传递1作为参数。下面分几种场景给你讲正确的写法:
路径无空格的简单场景
如果你的EXE路径里没有空格,直接这么写就可以正常运行:C:\folder\app.exe 1PowerShell会自动识别这是可执行文件,后面的
1就是传递给它的参数。路径包含空格的场景
要是你的文件夹或EXE名称带空格(比如C:\My Apps\app.exe),直接写会报错,这时候得用调用操作符&配合引号:& "C:\My Apps\app.exe" 1&是PowerShell专门用来执行被引号包裹的可执行文件的操作符,后面的参数直接跟在路径后面就行。更灵活的进阶用法(推荐)
如果你需要传递多个参数、控制窗口行为或者等待程序运行完成,用Start-Processcmdlet会更靠谱:Start-Process -FilePath "C:\folder\app.exe" -ArgumentList "1" -NoNewWindow -Wait这里几个关键参数的作用:
-FilePath:指定EXE的完整路径-ArgumentList:传递给程序的参数,多个参数用逗号分隔(比如"1","-verbose","--output log.txt")-NoNewWindow:让程序在当前PowerShell窗口运行,不会弹出新窗口-Wait:等待程序执行完毕后,再继续运行后续的PowerShell命令
这样就能精准实现你想要的“运行EXE特定功能”的需求啦~
内容的提问来源于stack exchange,提问作者Kev mc
相关产品推荐
相关产品推荐

