【发布时间】:2010-10-23 00:00:06
【问题描述】:
我正在创建一个 Powershell 脚本来部署一些代码,其中一部分过程是调用一个名为 RAR.EXE 的命令行压缩工具来备份一些文件夹。
我正在尝试动态构建参数,然后让 powershell 使用变量调用命令,但我遇到了麻烦。它不工作...
运行以下脚本,您应该会看到我在说什么。作为变量传入的参数正在被破坏。如果我传递整个命令 + 参数,我会收到臭名昭著的“不被识别为 cmdlet...”消息。
感谢您的帮助!
echo "this should succeed"
& cmd /c echo foo
echo "why does this echo out an additional double quote?"
$param = "/c echo foo"
& cmd "$param"
echo "this does the same"
$param = "/c echo foo"
& cmd $param
echo "escaping the slash doesn't work either..."
$param = "`/c echo foo"
& cmd $param
echo "this fails, but why?"
$cmd = "cmd /c echo foo"
&$cmd
【问题讨论】:
标签: command-line powershell parameters arguments command