本帖最后由 jian123ch 于 2014-10-12 19:22 编辑
有一名为test2.txt的文本,内容如下:
37 赵大 男 18 14.5 34 24 90.5 1
13 钱二二 男 18 15 34.5 22 89.5 2
11 孙小小 女 16 15.5 30.5 27 89 3
14 李四四 女 18 15 30.5 23 86.5 4
15 张三三 男 16 16 31 23 86 5
9 李四七 女 18 12 32 23 85 6
35 王二小 男 18 15 28.5 23 84.5 7
要将文中性别全部更换,如果是“男”,就换成“女”;如果是“女”则更换成“男”,然后生成新的文件test3.txt,我写的代码如下:- @echo off
- setlocal enabledelayedexpansion
- if exist test3.txt del test3.txt
- for /f "delims=" %%i in (test2.txt) do (
- set strtmp=%%i
- set flagstr=@echo !strtmp!^|find /c "男"
- if !flagstr!==1 set strtmp=!strtmp:男=女! else set strtmp=!strtmp:女=男!
- @echo !strtmp!>>test3.txt
- )
- type test3.txt
复制代码 可是一直没有生成理想中的文件。经过逐名排查,发现在批处里文件中运行set flagstr=@echo !strtmp!^|find /c "男"这句好象有问题。但是问题在呢一直不明白,还请各位大虾帮分析指正。 |