1. ホーム
  2. batch-file

[解決済み] バッチエコーを特殊文字で使う

2023-07-23 20:36:52

質問

とても簡単なことなのですが、ネットで調べても答えがありませんでした。私はバッチ経由でXML行をファイルにエコーしたいのですが、それはリダイレクトのためのXML閉じタグ">"を誤解しています。その行は以下のようなものです。

echo <?xml version="1.0" encoding="utf-8" ?> > myfile.xml

は、バッチパーサーが特殊な文字列を解釈しないようにするためのヒントを与える方法はありますか?私はダブルクォートを使いましたが、それはファイルにも書き込まれます。echoの後、ファイルはこのようになるはずです。

<?xml version="1.0" encoding="utf-8" ?>

どのように解決するのですか?

シェルのメタキャラクタをエスケープするには ^ :

echo ^<?xml version="1.0" encoding="utf-8" ?^> > myfile.xml

ただし echo はシェル組み込みのため、クォートに関する通常の規則には従わないので、単に引数をクォートすると、クォートを削除する代わりに出力します。