[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这里我只提示一下 运行 次数记录的一般方法:
1、将次数写入自身文件的最后,当然这种方法不管是读取,还是再更新写入相对都比较麻烦,但数据相对安全一点点。
2、将数据记录到自身文件名,如某文件叫“test.bat”当运行第二次时,就将它的文件名改为test2.bat,依此类推
3、借鉴一般软件的记录方法:
1>写配置文件;
2>将记录写入注册表等
不过第三种方式,似乎楼主有限制....
我不知道这种方式是否属于它的纯批处理的范畴,呵呵。

TOP

与随风兄的代码思路一样,测试代码:
  1. ::-1
  2. @echo off 2>nul 3>nul
  3. set /p n=<"%~0"
  4. set "n=%n::=%"
  5. set /a n+=1,1/n && call echo 程序已经运行%%n%%次
  6. for /f "delims=" %%i in ('echo ::%n%^&more +1^<"%~0"') do (
  7.         if not defined flag (set flag=a&echo %%i>"%~0") else echo %%i>>"%~0"
  8. )
  9. pause
复制代码
不过以下代码还有两个目的:
1、2>nul 3>nul
2、不生成临时文件修改自身文件内容除了有随风兄的写法外,还可以这样:
  1. for /f "delims=" %%i in ('echo ::%n%^&more +1^<"%~0"') do (
  2.         if not defined flag (set flag=a&echo %%i>"%~0") else echo %%i>>"%~0"
  3. )
复制代码
1

评分人数

    • batman: 大家思路竟是如此的相同PB + 10

TOP

呵呵,他们几个人的帖子不是全部被屏蔽了吗?

TOP

再来一个越来越长的,呵呵
  1. @echo off 2>nul 3>nul
  2. for /f "delims=" %%i in (%~0) do set "n=%%i"
  3. set /a n+=1,1/n && call echo 第%%n%%次运行
  4. pause>nul
  5. >>%~0 echo %n%
  6. goto :eof
  7. -1
复制代码

TOP

返回列表