MyException - 我的异常网
当前位置:我的异常网» C++ » 在DOS下用批处理如何实现计数,开一次机自动某个值

在DOS下用批处理如何实现计数,开一次机自动某个值加一

www.MyException.Cn  网友分享于:2013-03-30  浏览:146次
请教高手在DOS下用批处理怎么实现计数,开一次机自动某个值加一
具体描述: 

在DOS下面编一个批处理,要求开机的时候会自动调用批处理,然后做一次计数(如第一次运行这个批处理,他计数1,第二次再调用他时,他计数2,)这个计数是一个绝对值,就是开多少次机,他这个值就是多少。这个值能赋予某个变量,允许其他程序来调用这个变量值,或是利用这个变量来命名文件名。(比如开机51次。那么这个值就应该是51 。那就是有这么一个N=51,N这个变量就可以让其他程序调用。例如某程序运行后,输出一个文件的时候,命名为TEST"N". 

有高手帮我把计数弄出来了。
把当前版本写到文件或者是注册表里三。。。 
比如 

@echo off 
setlocal 

set TMPFILE=curr.ver 
if exist %TMPFILE% for /f %%a in ('type %TMPFILE%') do ( set CURRVER=%%a ) else ( set CURRVER=1 ) 
echo currver == %CURRVER% 

set /a NEXTVER = CURRVER + 1 
echo %NEXTVER% > %TMPFILE% 

结果: 

16:55:57.38>111.cmd && 111.cmd && 111.cmd && 111.cmd 
currver == 1 
currver == 2 
currver == 3 
currver == 4 

这个我测试了,在WINXP下的DOS能正常运行,在MSDOS下不能运行。提示有几个错误。



有高手也帮我用C编了一个程序
先写一个这样的C++程序 
C/C++ code#include <fstream>
using namespace std;

int main()
{
  ifstream instuf("count.dat", ios::in);
  int n;
  if (instuf)
  {
  instuf>>n;
  instuf.close();
  }
  else
  {
  n = 0;
  }
  ofstream outstuf("count.dat", ios::out);
  n++;
  outstuf<<n;
  outstuf.close();
  return 0;
}



上面这个程序是用来更新count.dat里面的数值的。每运行一次加1。 

接着,把这个程序编译一下,把生成的.exe文件放到C盘根目录(假设那个.exe文件名是count.exe) 

最后,在C盘根目录下新建一个叫autoexec.bat的文件(可能已经存在,如果存在,在这个文件后面加上下面语句就行),然后输入 
count.exe 



至于我后面的部分则没有加进去。不知道如何实现。


能做到像下面的这样吗?

@echo off 
setlocal 

set TMPFILE=curr.ver 
if exist %TMPFILE% for /f %%a in ('type %TMPFILE%') do ( set CURRVER=%%a ) else ( set CURRVER=1 ) 
echo currver == %CURRVER% 

set /a NEXTVER = CURRVER + 1 
echo %NEXTVER% > %TMPFILE% 
  这段是计数 
调用某个程序生成了一个文件AA.XX

REN AA.XX (调用上面的计数).XX


OVER


就是调用这个程序不知道在什么地方调用。望高手指点。

------解决方案--------------------
没这么麻烦吧,逻辑很清晰:
aotuexec在windows启动的时候调用count.exe;
count.exe读取count.dat:
存在count.dat,那么读文件得到当前启动次数,把该值加1,写文件;
没有count.dat文件,则新建一个。把开机次数0写入文件。
关闭文件。

------解决方案--------------------
涉及到开关机,只能用文件计数比较合适了
------解决方案--------------------
程序里面加个文件是否存在的判断

批处理命令:
@echo off
cd 存放目录
程序名
type count.dat

文章评论

“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
为什么程序员都是夜猫子
为什么程序员都是夜猫子
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
一个程序员的时间管理
一个程序员的时间管理
程序员必看的十大电影
程序员必看的十大电影
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
 程序员的样子
程序员的样子
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
我的丈夫是个程序员
我的丈夫是个程序员
漫画:程序员的工作
漫画:程序员的工作
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
代码女神横空出世
代码女神横空出世
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员的鄙视链
程序员的鄙视链
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员都该阅读的书
程序员都该阅读的书
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员和编码员之间的区别
程序员和编码员之间的区别
那些争议最大的编程观点
那些争议最大的编程观点
鲜为人知的编程真相
鲜为人知的编程真相
程序员应该关注的一些事儿
程序员应该关注的一些事儿
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
旅行,写作,编程
旅行,写作,编程
中美印日四国程序员比较
中美印日四国程序员比较
老程序员的下场
老程序员的下场
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
每天工作4小时的程序员
每天工作4小时的程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
10个调试和排错的小建议
10个调试和排错的小建议
如何成为一名黑客
如何成为一名黑客
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
我是如何打败拖延症的
我是如何打败拖延症的
编程语言是女人
编程语言是女人
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有