XML ファイル (file_1.xml および file_2.xml) を読み取り、タグ間の文字列を抽出して TXT ファイルに書き出すコードを以下に記述しました。問題は、一部の文字列に二重引用符が含まれており、プログラムがこれらの文字を (文字列の一部ではなく) 適切な命令として受け取ることです...
file_1.xml の内容:
<AAA>C086002-T1111</AAA>
<AAA>C086002-T1222 </AAA>
<AAA>C086002-TR333 "</AAA>
<AAA>C086002-T5444 </AAA>
file_2.xml の内容:
<AAA>C086002-T5555 </AAA>
<AAA>C086002-T1666</AAA>
<AAA>C086002-T1777 "</AAA>
<AAA>C086002-T1888 "</AAA>
私のコード:
@echo off
setlocal enabledelayedexpansion
for /f "delims=;" %%f in ('dir /b D:\depart\*.xml') do (
for /f "usebackq delims=;" %%z in ("D:\depart\%%f") do (
(for /f "delims=<AAA></AAA> tokens=2" %%a in ('echo "%%z" ^| Findstr /r "<AAA>"') do (
set code=%%a
set code=!code:""=!
set code=!code: =!
echo !code!
)) >> result.txt
)
)
私はこれを result.txt に入れます:
C086002-T1111
C086002-T1222
C086002-T5444
C086002-T5555
C086002-T1666
実際、8 行のうち 3 行が欠落しています。これらの行には二重引用符が含まれているか、二重引用符を含む行が続きます...
これらの文字をどのように処理し、文字列の一部と見なすことができますか?