中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 04:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 计数的问题 查看 2,120 回复 22
16 发表于 2007-01-07 05:52 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
我写的这个VBS原理是这样的。
读取tmp.txt这个文件,如果没有则表示第一次运行,就建立tmp.txt这个文件在里面输入“1”。
如果有就读取里面的“1”之后再加上1,重新写入这个文件。并且显示运行第几次。(跟据tmp.txt里的数字显示)

BAT怎么写,这实在是门外汉无能为力。:(
在这写上我的思路,仅供参考。
17 发表于 2007-01-07 05:53 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
UID 61449
来自 北京
状态 离线
其实这种方法并不好,如果退出当前CMD SHELL无效,已经定义了变量A无效,还在寻求最佳方案

@echo off
if not defined a (set a=1) else (set/a a=%a%+1)
echo P处理运行了%a%次


[ Last edited by 9527 on 2007-1-7 at 05:54 AM ]
我今后在论坛的目标就是做个超级坏人!!!
18 发表于 2007-01-07 06:24 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  不使用注册表或者临时文件而计算运行次数的话,不仅批处理办不到,其他的语言也是不可能办到的,因为始终要把使用次数放到某个不容易丢失数据的地方保存起来,以便下次运行的时候把它读取出来——BTW,把这个使用次数放到批处理文件自身也可以看作是使用了临时文件,只不过是变相地使用而已。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
19 发表于 2007-01-07 08:15 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by namejm at 2007-1-7 06:24:
  不使用注册表或者临时文件而计算运行次数的话,不仅批处理办不到,其他的语言也是不可能办到的,因为始终要把使用次数放到某个不容易丢失 ...

同意
20 发表于 2007-01-07 10:07 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
既然都这么说,,那就暂时结束。嘿嘿
21 发表于 2007-01-07 13:11 ·  中国 河南 许昌 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
我 6 楼的代码有个缺点:批处理文件名不能包含有空格
改进可以包含空格:

@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 ('type "%~nx0"') do (
for %%n in (%%i) do set /a %%n+=1)
set /a :+=1
echo.&echo. 第 %:% 运行。&echo.
set/p=: <nul>>"%~nx0"
pause
exit



文件名不能包含有特殊符号!
编好后的的批处理必须在最后一行换行为空行
XP SP2测试通过

[ Last edited by zh159 on 2007-1-7 at 12:15 AM ]
22 发表于 2007-01-07 13:42 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
没注意看已经有好方法了,呵呵

[ Last edited by 26933062 on 2007-1-7 at 12:48 AM ]
23 发表于 2007-01-08 01:53 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
好了,很好的

是不是加一个'type "%~nx0"'就可以处理含有空格的文件名阿?
论坛跳转: