找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: batman

【练习-030】批处理计算程序运行次数

[复制链接]
发表于 2009-4-28 07:55:35 | 显示全部楼层

最简单的,[会越来越长]

  1. @echo off
  2. set/a n=%~z0-110
  3. if %n% gtr 0 echo 程序已经运行了:%n%次
  4. set/p =a>%~f0
  5. pause
  6. goto :eof
  7. ::
复制代码
发表于 2009-11-20 08:57:41 | 显示全部楼层
hi, netbenton也来拉
现在如果做的话打算用 assoc 关联一个特殊项,该项记录着次数。
assoc .次数=n
估计实际上是根改注册表差不多

[ 本帖最后由 523066680 于 2009-11-20 08:58 编辑 ]
发表于 2009-12-10 00:07:36 | 显示全部楼层
@echo off
for /f "tokens=2" %%i in (%~nx0) do (set sx=%%i)
if %sx%==0 goto 1
echo 文件已经运行%sx%次
:1
set /a sx+=1
echo aloc %sx% >>%~nx0
pause>nul&&exit
aloc 0

注意代码最后有1空行。。
发表于 2012-2-11 15:18:06 | 显示全部楼层
回复 28# batman

回复 28# batman

这个代码有点问题,直接关掉程序的话不会计数,应该改一下才可以.
  1. ::3
  2. @echo off
  3. set /p num=<%~fs0
  4. set "num=%num:~2%"
  5. if %num% neq 0 echo.&echo 程序已运行了%num%次
  6. set /a num+=1
  7. for /f "delims=" %%i in (%~fs0) do (
  8.     if not defined flag (
  9.        echo ::%num%>%~fs0&set "flag=a"
  10.        ) else (
  11.        echo %%i>>%~fs0
  12.     )
  13. )
  14. pause>nul
复制代码
pause>nul 这个放在计数后面,不然不按键盘,直接把程序关掉的话不会计数.
发表于 2012-2-29 17:16:01 | 显示全部楼层
注册表我也不熟,试一下:
  1. @echo off
  2. REG QUERY hkcr\.$$$ /v "cishu" 1>nul 2>nul||reg add hkcr\.$$$ /v "cishu" /d "0" /f >nul
  3. for /f "tokens=1-3" %%a in ('REG QUERY  hkcr\.$$$ /v "cishu"') do (set "cishu=%%c")
  4. if not "%cishu%"=="0" echo 已经运行了 %cishu% 次
  5. set /a "cishu+=1"
  6. reg add hkcr\.$$$ /v "cishu" /d "%cishu%" /f >nul
  7. echo.
  8. set /p "a=按 回车 直接退出;空格 + 回车 清除运行记录。 "
  9. if defined a reg delete  hkcr\.$$$ /f & pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:10 , Processed in 0.017420 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表