[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这用纯P比较麻烦,sed应该很方便,等人来~

建议求助的时候言简意赅,要不然估计很多人会没耐心看...举例时化繁为简,就像演戏时不需要把每个人名字都报出来,配角只需要说路人甲、路人乙就行了

TOP

楼上这样会漏字。

1:
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (a.txt) do (
  3.     set tmp=%%i
  4.     set /a 总是=0,特征=0
  5.     for /l %%a in (0 1 1000) do (
  6.         if !总是!==0 set /p=!tmp:~%%a,1!<nul
  7.         if "!tmp:~%%a,2!"=="总是" set 总是=1&set /p=是<nul
  8.         if "!tmp:~%%a,2!"=="特征" (
  9.             if !总是!==1 set /p=!tmp:~%%a,1!<nul
  10.             set 总是=0
  11.         )
  12.     )
  13.     echo;
  14. ))>b.txt
  15. pause
复制代码
2:
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (a.txt) do (
  3.     set tmp=%%i
  4.     set /a 总是=0,特征=0
  5.     for /l %%a in (0 1 1000) do (
  6.         set /a "特征-=^!^!特征"
  7.         if "!tmp:~%%a,2!"=="总是" set 总是=1
  8.         if "!tmp:~%%a,2!"=="特征" (
  9.             set /a 总是=0,特征=2
  10.         )
  11.         if !总是!==0 if !特征!==0 set /p=!tmp:~%%a,1!<nul
  12.     )
  13.     echo;
  14. ))>b.txt
  15. pause
复制代码
3:
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (a.txt) do (
  3.     set tmp=%%i
  4.     set "tmp=!tmp:总是=!"&set "tmp=!tmp:特征=!"
  5. for %%a in ("!tmp!") do echo %%~a
  6. ))>b.txt
  7. pause
  8. ::效率高,但是遇到特殊字符可能出错
复制代码
  1. @echo off &setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (a.txt) do (
  3.     set tmp=%%i
  4.     set /a 总是=0,特征=0
  5.     for /l %%a in (0 1 1000) do (
  6.         set /a "总是-=^!^!总是","特征-=^!^!特征"
  7.         if "!tmp:~%%a,2!"=="总是" set 总是=2
  8.         if "!tmp:~%%a,2!"=="特征" set 特征=2
  9.         if !总是!==0 if !特征!==0 set /p "m=!tmp:~%%a,1!"<nul
  10.     )
  11.     echo;
  12. ))2>nul
  13. pause
  14. ::效率低,但是保险
复制代码
1

评分人数

TOP

返回列表