[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# jian123ch
这样会处理姓名里含有的"男"
改下一楼第七行
代码里"男"和"女" 左右空格是你实际文件分隔符
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in (test2.txt) do (
  4.      set strtmp=%%i
  5.      if "!strtmp: 男 = 女 !" == "!strtmp!" (set strtmp=!strtmp: 女 = 男 !) else set strtmp=!strtmp: 男 = 女 !
  6.      echo !strtmp!
  7. ))>test3.txt
  8. type test3.txt
复制代码

TOP

本帖最后由 terse 于 2014-10-12 18:37 编辑

回复 12# bailong360
非要用FIND的话 你确定2楼代码不替换吗?我这里测试通过的啊
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (test2.txt) do (
  3.     set strtmp=%%i
  4.     echo !strtmp!| find  " 男 " >nul&& set strtmp=!strtmp: 男 = 女 !||set strtmp=!strtmp: 女 = 男 !
  5.     echo !strtmp!
  6. ))>test3.txt
  7. type test3.txt
  8. pause
复制代码
加 /C
  1. @echo off & setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (test2.txt) do (
  3.      set strtmp=%%i
  4.      for /f %%j in ('echo !strtmp!^|find /c " 男 "') do set flagstr=%%j
  5.      if !flagstr! == 1 (set strtmp=!strtmp: 男 = 女 !) else set strtmp=!strtmp: 女 = 男 !
  6.      echo !strtmp!
  7. ))>test3.txt
  8. type test3.txt
  9. pause
复制代码

TOP

返回列表