本帖最后由 qixiaobin0715 于 2024-2-29 16:36 编辑
先使用for /f中的切分功能排除干扰字符,后面直指主题,即直接找出各字段对应的内容,感觉这样应当更准确些,防止出现某些位置异常而产生匹配错误的情况:- @echo off
- set /a #ClassId=#skillname=#skillId=#skillLvl=#getLevel=#levelUpSp=#ID=#count=0
- setlocal enabledelayedexpansion
- for /f "delims=<> " %%x in (1.log) do (
- for /f "tokens=1*" %%i in ("%%x") do (
- for %%a in (%%j) do (
- if defined x (
- set !x!=%%~a
- set x=
- ) else if defined #%%a (
- set x=%%a
- )
- if /i "%%a"=="/" (
- echo,!ClassId! !skillname! !skillId! !skillLvl! !getLevel! !levelUpSp! !ID! !count!
- for %%y in (skillname skillId skillLvl getLevel levelUpSp ID count) do set %%y=
- )
- )
- )
- )
- pause
复制代码 开始上面代码好像有些问题,现已修改。 |