从Powershell执行cmd.exe命令并传递参数

时间:2019-08-28 20:18:06

标签: windows powershell batch-file

我正在创建PS脚本,以从大量设备中删除大量应用程序。

具有以下代码的理论是将应用程序的路径以及“ RD”(删除目录)命令和两个开关传递到cmd.exe。

但是我在运行时得到的全部是。

  

”“ rd C:\ Program Files \ Mozilla Firefox / s / q”未被识别为   cmdlet,函数,脚本文件或可运行程序的名称。校验   名称的拼写,或者是否包含路径,请验证   路径正确,然后重试。

关于在这里如何实现目标的任何建议

 if ($app_path) {

write-host "Now Removing $appname ,install directory ($app_path)"

$command = "rd $app_path /s /q"

& cmd.exe /c $command

}

1 个答案:

答案 0 :(得分:1)

参数必须是单独的字符串。

& cmd /c rd $app_path /s /q

$command = 'rd',$app_path,'/s','/q'
& cmd /c $command

cmd /c rd $app_path /s /q