Board logo

标题: [文本处理] 批处理怎样对重启次数进行计数? [打印本页]

作者: jiayt    时间: 2009-12-21 16:54     标题: 批处理怎样对重启次数进行计数?

我现在DOS下连续运行重启,想加入一个自动计数功能,就是重启一次就在某个文档里更新重启次数,请问用批处理能实现么?请高手不吝赐教,给个代码,谢谢!
作者: abxialiang    时间: 2009-12-21 18:03

  1. @echo off
  2. if not exist a.txt echo a=1 >a.txt
  3. for /f %%i in ('type a.txt') do (  
  4. echo %%i
  5. set /a %%i+1  
  6. call echo a=%%a%%>a.txt  
  7. )
  8. pause
复制代码
每运行一次都会把记录文件a.txt内容加1,你照着改下就是了。
作者: 523066680    时间: 2009-12-21 18:09

好像以前几个人问过,还有的帖子讨论过,搜搜可能有更多的~
作者: jiayt    时间: 2009-12-21 18:42

原帖由 abxialiang 于 2009-12-21 18:03 发表
@echo off
if not exist a.txt echo a=1 >a.txt
for /f %%i in ('type a.txt') do (  
echo %%i
set /a %%i+1  
call echo a=%%a%%>a.txt  
)
pause
每运行一次都会把记录文件a.txt内容加1,你照着改下就是 ...


你好,我试着运行了一下,显示:
syntax error
%i
syntax error
bad command or file name
还有a.txt中显示的是a=%a%
我做的重启是在DOS下运行的,请问这是什么原因?谢谢!
作者: zhiyanzhai33    时间: 2009-12-21 19:30

试着写了一段,把 :end 标签中的内容换成重启就行:
  1. @echo off
  2. if not exist count.txt (
  3. call :first
  4.   ) else (
  5. for /f "delims=, tokens=2" %%i in (count.txt) do (
  6.   call set /a a=%%i
  7.   call :add
  8. )
  9. )
  10. goto :end
  11. :first
  12. set /a a=1
  13. echo ",%a%,">count.txt
  14. goto :eof
  15. :add
  16. set /a a+=1
  17. echo ",%a%,">count.txt
  18. goto :eof
  19. :end
  20. echo hello world
  21. echo %a%
  22. pause
  23. exit
复制代码

[ 本帖最后由 zhiyanzhai33 于 2009-12-22 15:41 编辑 ]
作者: zhiyanzhai33    时间: 2009-12-21 19:31

怎么代码粘贴区域中不支持缩进么?新来的疑惑?
作者: keen    时间: 2009-12-21 19:35

在纯DOS下,很多命令都没有。
作者: pumahxh    时间: 2009-12-21 22:13     标题: 回复楼主

你在纯dos下可能能for /f这样的命令都不支持,要得到帮助,请先说明你的dos系统是什么版本,可输入命令ver查询。
作者: Batcher    时间: 2009-12-21 23:10     标题: 回复 6楼 的帖子

请现在记事本或者其他编辑器里面设置好缩进,再复制到代码粘贴区域。
作者: abxialiang    时间: 2010-1-8 15:59     标题: 回复 4楼 的帖子

我在ghost版的xp下运行正常。不是在纯dos状态下。你出现的问题我就不知道了。稍微改了下命令方式,可能不能解决你的问题,你换台电脑试试看行不行,我测试过的
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. if not exist a.txt echo a=1 >a.txt
  4. for /f %%i in ('type a.txt') do (  
  5. echo %%i
  6. set /a %%i+1  
  7. echo a=!a!>a.txt  
  8. )
  9. pause
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2