Board logo

标题: [系统相关] 批处理如何判断系统类型及如何判断自身的运行次数? [打印本页]

作者: protostar    时间: 2009-9-30 10:58     标题: 批处理如何判断系统类型及如何判断自身的运行次数?

1、如何判断系统类型?比如是xp还是win7,要在命令模式下实现;我现在的做法是判断一个特定目录的有无来区分是什么系统。
2、如何判定一个bat脚本已经运行了几次?我想让它运行5次后生效,想到的方法是写个标记文件,里面记录一下起始值,比如零,每运行一次累加一个值,但是实现不了,提取出来的值赋值给一个变量后,记录类型是文本型的,累加后不是数值运算,又不想用每次生成一个标志文件的方法来实现。如何处理?

谢谢指点。
作者: youxi01    时间: 2009-9-30 12:44

1、命令行下输入:ver & echo %os%
研究下你要的

2、你应该忽略了一个细节:向文件echo数字时(数字小于10),不能使用echo n>文件名的方式。因为这时批处理默认将数字识别做句柄,可以这样:
  1. @echo off
  2. if exist test.ini (
  3. for /f "delims=" %%i in (test.ini) do set RunTimes=%%i
  4. ) else set  RunTimes=0
  5. set /a RunTimes+=1
  6. >test.ini echo %RunTimes%
  7. echo 这时程序第 %RunTimes% 次运行!
  8. pause>nul
复制代码
当然,可以根据自己的需要,将配置文件test.ini所在目录写的深一点,或者将运行信息写入注册表!
作者: protostar    时间: 2009-12-3 09:40

多谢指点,我来研究一下。




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