Board logo

标题: 有个关于用批处理来计数的IDEAR,望高手帮忙实现! [打印本页]

作者: heicai     时间: 2008-1-21 14:02    标题: 有个关于用批处理来计数的IDEAR,望高手帮忙实现!

我有个想法,就是用批处理来做计数功能,每运行一次该批处理就往Log.txt里写1,然后统计到一定个数的1后,就执行删除某程序的工作。说白有点像注册版软件的统计使用次数,呵呵。不知能否通过批处理来实现啊??好想见识下。

我想大概是type log.txt 然后find "1"什么的吧,我学的太烂还请高手来赐教啊!
作者: HAT     时间: 2008-1-21 14:53

@echo off
setlocal enabledelayedexpansion
set FlagFile=C:\test.log
set count=0
if exist "%FlagFile%" (
  set /p count=<"%FlagFile%"
  set /a count+=1
  >"%FlagFile%" echo !count!
) else (
  >"%FlagFile%" echo 1
)
endlocal

作者: fastslz     时间: 2008-1-21 15:10
这个是从注册表里记数

  Quote:
@echo off
reg query "HKCU\Software\a.bat" /v "IDEAR">nul 2>nul||call :xxx
for /f "skip=4 tokens=3*" %%a in ('reg query "HKCU\Software\a.bat" /v "IDEAR"') do (
    for /f "skip=4 tokens=3*" %%i in ('reg query "HKCU\Software\a.bat" /v "IDEARS"') do (
        set a=%%a
        set b=%%i
))
if %b:~-1% gtr %a:~-1% echo 使用次数不能超过 %a:~-1% 次&ping/n 5 127.1>nul&exit
set b=%b:~-1%&set /a b=%b%+1
reg add "HKCU\Software\a.bat" /v "IDEARS" /t REG_DWORD /d %b% /f>nul
rem 你的批处理开始

pause
exit
:xxx
reg add "HKCU\Software\a.bat" /v "IDEAR" /t REG_DWORD /d 2 /f>nul
reg add "HKCU\Software\a.bat" /v "IDEARS" /t REG_DWORD /d 1 /f>nul
goto:eof

红色的就是限止次数