本帖最后由 qixiaobin0715 于 2023-12-21 10:36 编辑
第一个for循环主要是排除不含Soul Crystal的xml文件。
变量延迟加在合适的位置即可:- @echo off
- (for /f "delims=" %%i in ('findstr /m /c:"Soul Crystal" *.xml') do (
- for /f "tokens=1,3,4" %%a in ('type "%%i"') do (
- if "%%a"=="<item>" (
- set x=true
- ) else if "%%a"=="</item>" (
- set x=
- setlocal enabledelayedexpansion
- for /f "tokens=2 delims==" %%d in ("!str1!") do echo,!str2!,%%~d
- endlocal
- ) else if defined x (
- if "%%b%%c"=="SoulCrystal" (
- set y=true
- ) else if defined y (
- set y=
- for /f "tokens=2 delims==" %%d in ("%%b") do set str2=%%~d
- )
- set str1=%%b
- )
- )
- ))>out.csv
- pause
复制代码
|