中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 06:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 计数的问题 查看 2,121 回复 22
楼 主 计数的问题 发表于 2007-01-01 12:11 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线


怎么写一个批处理,让他自动的记住是第几次运行?

2 发表于 2007-01-01 12:32 ·  中国 广东 清远 联通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
UID 68504
性别 男
来自 湖南==》广东
状态 离线
将运行次数写进一个文件或注册表吧
3 发表于 2007-01-01 12:46 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
不能在P中实现吗,不改写注册表,不用另外的文件?
4 发表于 2007-01-01 12:53 ·  中国 广东 清远 联通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
UID 68504
性别 男
来自 湖南==》广东
状态 离线
当然也可以,不过稍微麻烦一点
5 发表于 2007-01-01 13:11 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
那就请贴代码

谢谢
6 发表于 2007-01-01 16:25 ·  中国 广西 南宁 联通
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
必须在批处理最后一行换行为空行

1、最简单的办法,在批处理中加入:
set/p=:<nul>>%~nx0

计算“:”的个数

2、显示当前运行次数:
@echo off
for /f "tokens=1,2* delims=:" %%i in ('findstr /nv "`" %~nx0') do set /a N=%%i-1
for /f "skip=%N% delims=" %%i in (%~nx0) do (
for %%n in (%%i) do set /a %%n+=1)
set /a :+=1
echo.&echo. 第 %:% 运行。&echo.
set/p=: <nul>>%~nx0
pause
exit


7 发表于 2007-01-02 01:07 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线

Many Thanks

Happy New Year
8 发表于 2007-01-02 01:09 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
调试了
很好的

不过还要研究一下,我还没有仔细看代码

先谢谢了
9 发表于 2007-01-07 02:28 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
那个代码由问题啊

只能记到2
往后就总是2,谁来解决??
10 发表于 2007-01-07 04:55 ·  中国 辽宁 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
是不是可以用VBS写一个,怪我无知,汗~~

[ Last edited by jmz573515 on 2007-1-22 at 10:16 PM ]
11 发表于 2007-01-07 04:59 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
waw。。。

又来了一个vbs的

呵呵。。。。
好的,谢谢。
12 发表于 2007-01-07 05:00 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
能不能只用BAT的格式把这个问题解决阿?
谢谢
13 发表于 2007-01-07 05:18 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  演示代码:

@echo off
:: 只有在不关闭这个脚本的情况下才能计数
:loop
cls
set /a num+=1
echo 这是第 %num% 次运行
pause
goto loop
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
14 发表于 2007-01-07 05:37 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
我要的不是这个情况,我说的是每次运行就一次数

怎么实现?只用bat
15 发表于 2007-01-07 05:43 ·  中国 广东 广州 天河区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
UID 75048
性别 男
状态 离线
echo 内容 >> 批处理自身
使用这个就可以了
原理大致这样,有兴趣作出一些修正之类的

[ Last edited by dikex on 2007-1-6 at 04:45 PM ]
论坛跳转: