いくつかのコードを展開するためのPowershellスクリプトを作成しています。プロセスの一部は、RAR.EXEというコマンドライン圧縮ツールを呼び出していくつかのフォルダーをバックアップすることです。
パラメータを動的に構築してから、PowerShellに変数を使用してコマンドを呼び出させようとしていますが、問題が発生しています。動作していません...
次のスクリプトを実行すると、私が話していることがわかります。変数として渡されるパラメーターがマングルされています。コマンドとパラメータ全体を渡すと、悪名高い「コマンドレットとして認識されません...」というメッセージが表示されます。
助けてくれてありがとう!
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