[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. :0
  2. @echo off
  3. for /f "delims=" %%a in ('type %0') do (set "str=%%a"&goto :out)
  4. :out
  5. set "str=%str::=%"
  6. set /a "str+=1"
  7. for /f "delims=" %%a in ('type %0') do (
  8.    if not defined god (
  9.       set god=hell
  10.       >%0 echo :%str%
  11.    ) else (
  12.        >>%0 echo %%a
  13.    )
  14. )
  15. if %str% gtr 1 (echo %str% times already) else (echo This is the first time)
  16. rem 如果上面这行有中文会出错,不解...
  17. set "god="&pause>nul&goto :%str%
复制代码


[ 本帖最后由 more 于 2008-10-24 00:52 编辑 ]

TOP

原帖由 pusofalse 于 2008-10-24 13:58 发表
回复more兄,好像看错题意了。第一次运行时什么也不会输出,到运行第二次时才输出“已经运行1次”。25楼同是如此的问题。

我这里显示没有问题呀:
This is the first time
2 times already
3 times already
4 times already
5 times already
6 times already

TOP

回39楼 shqf

这样算吗?
  1. @echo off
  2. set "str=echo 这里是中间那段"
  3. for /f "delims=" %%a in ('type %0') do (
  4.    if not defined god (
  5.       set "god=hell"
  6.       >%0 echo %%a
  7.    ) else (
  8.       if not "%%a"=="%str%" (
  9.          >>%0 echo %%a
  10.       ) else (
  11.          >>%0 echo echo 这里是已经改写的中间那段
  12.       )
  13.    )
  14. )
  15. echo 这里是中间那段
  16. pause
复制代码

TOP

返回列表