誰か助けてください...ああ、私はとても感謝します。ユーザーが入力を入力するたびに、必要なファイル内の文字列を置き換えることを除いて、完全に機能する非常に長いバッチファイルがありますが、ファイル内の !s を削除すると、XML 構成ファイルであるために問題が発生し、これらがコメント化されます。とどまる必要があるセクション。要求されない限り、ここにコード全体を入れるつもりはありませんが、簡単に言うと、ユーザーが特定の入力を行うと、バッチ ファイルが実行されます...ここに 1 つのファイルのコードの一部があります....ユーザーがドライブに入りますインストールの文字と bdi サーバーの名前。ユーザー入力で %drive% と %bdi1% を置き換えたい....それは....しかし、コメントアウトされたセクションを置き換えたくありません...つまり::
<!-- Tcp message preamble and postamble are flags that mark the beginning and end of an HL7 message. turns into <-- Tcp message preamble and postamble are flags that mark the beginning and end of an HL7 message.
なしに注意してください!
これが私のコードです... ! の削除を停止するにはどうすればよいですか。私はここを見てみましたが、Jebの答えは順調に進んでいると思いましたが、うまくいきませんでした。前もって感謝します
if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in ("%drive%:\mckesson\%bdi1%\importer.config") do (
set str=%%a
set str=!str:server_name=%server%!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config
if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in ("%drive%:\mckesson\%bdi1%\importer.config") do (
set str=%%a
set str=!str:bdi_name=%bdi1%!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config
if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in ("%drive%:\mckesson\%bdi1%\importer.config") do (
set str=%%a
set str=!str:share_name=%share%$!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config
if exist newfile.txt del newfile.txt
for /F "usebackq delims=" %%a in ("%drive%:\mckesson\%bdi1%\importer.config") do (
set str=%%a
set str=!str:drive_bdi=%drive%!
echo !str! >> newfile.txt
)
del importer.config
rename newfile.txt importer.config