• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:bat内での文字の置き換えについて)

bat内の文字の置き換えについて

このQ&Aのポイント
  • bat内での文字の置き換えについて調査しています。環境変数に設定されている値をエスケープ処理して、javaのクラスに渡したいです。
  • bat内のエスケープ処理で特殊記号や先頭の"が問題となる場合があります。理由と解決策について教えてください。
  • batファイル内のエスケープ処理で問題が発生しています。エスケープ処理を正しく行うための方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

< > は、バッチではリダイレクトの記号です。 " " の内側にある場合はそのままの文字ですが、" " の外にある場合はリダイレクトの指定と見なされます。 例: echo aaaaa > eeee で、eeeeというファイルにaaaaaを書き出す。 例: echo aaaaa <> eeee だと、< の後にファイル名がないので、エラー。 バッチの先頭に、setlocal enabledelayedexpansion と書いて、 変数展開を%でなく!でするようにすれば、大丈夫です。 TEST=<> の時、 echo %TEST% → エラー echo !TEST! → OK

tetuya120
質問者

お礼

ありがとうございます。 期待する処理を行うことが出来ました。