回复 5# pan528
原来觉得用for直接分割比较快点,没考虑到同时出现、)的情况,稍微改下。不过还是有致命伤的,你还是6楼的代码。
怎么就没想到分成两位数在组合起来呢~~- @echo off&setlocal enabledelayedexpansion
- set /a p=p1=p2=p3=p4=p5=0
- (for /f "tokens=1* delims=-" %%a in (a.txt) do (
- set "str=%%a"
- set /a 1/%%a 2>nul&&set "str=%%a-%%b"||(
- for /f "tokens=1* delims=、" %%c in ("!str:~,5!") do (
- set /a 1/%%c 2>nul&&set /a p4+=100,p5=0||(
- if not "%%d"=="" (
- set /a p2+=1000000,p3=p4=p5=0
- ) else (
- for /f "tokens=1* delims=)" %%e in ("!str:~,5!") do (
- set /a 1/%%e 2>nul&&set /a p5+=1||(
- if not "%%f"=="" (
- set /a p3+=10000,p4=p5=0
- ) else (
- set /a p1+=100000000,p2=p3=p4=p5=0
- )
- )
- )
- )
- )
- )
- set /a p=p1+p2+p3+p4+p5
- set "str=0!p!_%%a"
- )
- echo,!str!
- ))>b.txt
复制代码
|