質問: 【症状】 VBScript で正規表現用のコマンドを作成しようとしている時に直面した問題です。 batファイルから呼び出すときに大部分の記号が引き渡せないのです。 エスケープしてもダメでした。 引き渡せる方法をご存知でしたらご教授願えませんでしょうか。 よろしくお願いいたします。 【テストコード】 test.vbs ``` WScript.Echo WScript.Arguments(0) ``` test.bat ``` @echo off cscript //nologo ./test.vbs "!#$%&'()=~|`{+*}<>?_-^\@[;:],./\" pause ``` 結果 ``` !#$],./\ ```
回答: `.bat`ファイル内では`%`は引数のプレースホルダーとして評価されるため、文字`%`を表したい場合は`%%`とエスケープする必要があります。