[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

测试文件名假设为 test.xml
获取结果文件名为 test.csv
如下代码存为批处理脚本文件(test.cmd 或 test.bat)
楼主提供的样本已测试通过。
  1. @echo off &setlocal enabledelayedexpansion
  2. findstr /inc:"Soul Crystal" /inc:"</item>" "test.xml" 2>nul>tmp.0
  3. (for /f "tokens=1 delims=:" %%k in (tmp.0) do (
  4. if not defined v1 (call :getV "test.xml" %%k v1) else (
  5. set/a "n=%%k-2"
  6. (call :getV "test.xml" !n! v2)
  7. echo,!v1!,!v2!
  8. set "v1="
  9. )
  10. ))>"test.csv"
  11. del /q tmp.0
  12. endlocal &pause &exit/b
  13. :getV //%1=文件名 %2=行号 %3=返回值变量名
  14. for /f "usebackq skip=%~2 delims=" %%s in ("%~1") do (
  15. for /f tokens^=1-4^delims^=^" %%1 in ("%%~s") do (set "%~3=%%4")
  16. exit/b
  17. ) & exit/b
复制代码

TOP

返回列表