Re sncffb 实现此特性的最佳方案是利用文本流处理工具,比较通用的有类C的GAWK,支持正则表达式的SED等,比较简单的有LMOD等,或者利用串替换工具也可以达到类似的效果,比如HEXC\CHANGE等。等然,这些都属于第三方工具,我在彼处的经验不是很多。 如果用纯批处理实现,需要区分是否NT系列环境。如果是,可以利用相对比较简单的FOR文本解析来实现特有的功能,即判断到指定行(用关键字或者行号)时,进行特有的操作。如果非NT环境,则需要使用其它一些文本行遍历的技巧,这我在旧贴中曾经多次涉及,你可以以“文件遍历”关键字搜索论坛。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
set a=0set b=0for /f %%i in (1.txt) do if "%%i"=="4" goto :after4 else echo %%i >>2.txt && set /a a=a+1:after4echo add_string >>2.txtfor /f %%i in (1.txt) do set /a b=b+1 && if !b! GTR %a% echo %%i >>2.txt不知道这种思路可不可以!b!好像要延缓环境变量在黑窗体中是cmd/vn在批处理中不知道怎么用请高手指点
::VarDelay.bat - 在批处理中使用延迟变量
::Will Sort - 2005/06/05 - CMD@WinXP
@echo off
if "%1"=="" cmd /vn /c%0 cmdshell && goto :EOF
:: Run in cmd shell with delayed environment variable expansion
for %%v in (1 2 3 4 5 6 7 8 9) do set ev=%%v && echo !ev!
:: Insert.bat - 在文本文件中的指定行插入一行
:: Will Sort - 2005/06/05 - CMD@WinXP
@echo off
for /f %%t in (1.txt) do echo %%t >>2.txt && if "%%t"=="4" echo insert_string>>2.txt
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!