作成中の Windows バッチ ファイルがありますが、大きな複雑な文字列を ECHO する必要があるため、両端に二重引用符を付ける必要があります。問題は、引用符を書き込んでいるファイルにも引用符がエコーされていることです。そのような文字列をどのようにエコーし、引用符を取り除きますか?
アップデート:
私はこれに取り組むために過去 2 日間を費やし、最終的に何かを一緒にまとめることができました。リチャードの答えは引用符を取り除くのに役立ちましたが、サブルーチンに ECHO を入れて文字列を直接出力しても、Windows は文字列内の文字にハングアップしました。尋ねられた質問に答えるので、リチャードの答えを受け入れます。
最終的に Greg の sed ソリューションを使用することになりましたが、sed/windows のバグ/機能のために変更する必要がありました (ドキュメントがないことは役に立ちませんでした)。Windows で sed を使用するには、いくつかの注意事項があります。単一引用符の代わりに二重引用符を使用する必要があります。文字列内の二重引用符を直接エスケープすることはできません。文字列を終了引用符で囲み、^ を使用してエスケープする必要があります (したがって ^" ) 次に、次のセクションの beqin 引用. また、誰かが、入力を sed にパイプすると、パイプが文字列に含まれるというバグがあることを指摘しました (私の最終的な解決策では、私はちょうど見つけたので、これを確認することはできませんでした)文字列の途中にすべての引用符を付けず、すべての引用符を削除する方法では、終了引用符を単独で削除することはできませんでした. ) 助けてくれてありがとう.