能否在PowerShell中直接执行Bat命令而无需调用Bat文件?
能不能在PowerShell中直接执行Bat命令?
当然可以,你可以通过以下几种方式在PowerShell里直接执行Bat命令,无需单独创建或运行Bat文件:
用
cmd /c串联多条命令
把Bat命令用&连接起来,传给cmd /c执行,这样cmd会按顺序处理这些Bat命令。针对你的示例,可写成:cmd /c "@echo off & echo sample batch script & pause"其中
@echo off用于关闭命令回显,&用来分隔多条Bat命令,确保它们在同一个cmd会话里依次执行。用Here-String处理多行命令
如果命令较多,用多行的Here-String会更清晰,格式和写Bat文件几乎一致:$batchCmds = @" @echo off echo sample batch script pause "@ cmd /c $batchCmds这种方式把所有Bat命令存为字符串变量,再传给
cmd /c执行,可读性更强。
注意:直接在PowerShell里输入Bat命令(比如单独敲echo sample batch script)会触发PowerShell自身的同名命令,而非Bat版本的命令,因此必须通过cmd /c调用cmd.exe来执行真正的Bat命令。
内容的提问来源于stack exchange,提问作者Neha Goswami
相关产品推荐
相关产品推荐

