5
を%*を渡すとき、私は、任意の数の引数(ファイルのリスト)を受け取り、以下のコマンド構造でPowerShellスクリプトを実行するバッチスクリプトを持っている:
"%POWERSHELL%" -Command "%SCRIPT%" %*
を
%POWERSHELL%
はPowerShell.exe
へのパスで、%SCRIPT%
は$args
として%*
を受けることを解釈する私のPowerShellスクリプトです。問題は、私がファイル名test$file.name
のようなものを渡すと、PowerShellがtest.name
を受け取ることになります。恐らく$file
は空の変数として解釈されるからです。
バッチスクリプトから一重引用符またはバッククォートで各引数をエスケープする方法はありますか?
魅力のように動作します - 私はそのコロン表記についてはわかりませんでした。 –
ニンジン '^'もうまくいくのでしょうか?または左引用符はPowerShellの特殊文字ですか? –
@ hayk.mart: '%VAR:S1 = S2%'は変数の文字列を置き換えます。詳細は 'help set'を参照してください。 –