本帖最后由 CrLf 于 2014-7-24 18:42 编辑
暴力思路:- @echo off&setlocal enabledelayedexpansion
- rem 基本思路是将所有数字理解为 a b c 三部分,然后...
-
- set "list=@一二三四五六七八九"
-
- for /l %%a in (1 1 9) do (
- set [!list:~%%a,1!]=set /a a=%%a,b=c=0
- rem 将 [一] ~ [九] 设为变量,引用其值会将 a 设为对应数字,b 和 c 置 0
- set [(!list:~%%a,1!]=set /a b=%%a,c=0
- rem 将 [(一] ~ [(九] 设为变量,引用其值会将 b 设为对应数字,c 置 0
- set [%%a]=set c=%%a
- rem 将 [1] ~ [9] 设为变量,引用其值会将 c 设为对应数字
- )
-
- for /f "delims=)、" %%a in (a.txt) do (
- rem 以 ) 、 分割字符串,获取行首数字
- for %%b in ("![%%a]!") do %%~b
- rem 在变量中引用相应变量,执行其值,效果见上文描述
- set str=!a!.!b!.!c!
- rem 连接 a b c 变量
- echo !str:.0=!
- rem 显示不为 0 的部分
- )
- pause
复制代码
|