中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 08:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请高手帮忙,求一限制次数的BAT 查看 1,142 回复 8
楼 主 请高手帮忙,求一限制次数的BAT 发表于 2007-07-09 17:51 ·  中国 广东 肇庆 电信
初级用户
★★
积分 165
发帖 74
注册 2007-01-08 08:17
19年会员
UID 75816
性别 男
状态 离线
请高手帮忙,求一限制次数的BAT

批处理在特定的使用次数执行某程序,当使用次数用满之后就不执行程序
2 发表于 2007-07-09 17:59 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
搜索一下看有没有。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-07-09 18:08 ·  中国 北京 海淀区 方正集团
中级用户
★★
积分 404
发帖 179
注册 2006-03-30 14:44
20年会员
UID 53056
状态 离线
无非是留下标记,然后代码里检测一下。满足条件就退出
4 发表于 2007-07-09 21:29 ·  中国 广东 广州 海珠区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
有类似代码的呀?

set "time=3"
:aaa
rem 开始减次数了.
set /a "time-=1"
rem 你要运行的程序
if not "%time%"=="0" goto aaa
知,不觉多。不知,乃求知
5 我想可以这样... 发表于 2007-07-09 21:56 ·  中国 江西 赣州 电信
新手上路
积分 2
发帖 1
注册 2007-07-09 21:22
19年会员
UID 93569
性别 男
状态 离线
用DOS返回的值,如果为1,使另一个变量加1,
再用4楼的算法.
6 发表于 2007-07-11 00:27 ·  中国 广东 肇庆 电信
初级用户
★★
积分 165
发帖 74
注册 2007-01-08 08:17
19年会员
UID 75816
性别 男
状态 离线
是否可以显示:你已经使用X次了,还剩余S次.
用完次数之后显示:你已经使用完毕
7 发表于 2007-07-11 09:52 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
大概意思如此,根据需要自己修改吧
@echo off
if not exist times.tx_ echo 10>times.tx_
for /f %%a in (times.tx_) do set/a times=%%a
if %times% EQU 0 echo 试用已到期&pause>nul&exit
set/a num=%times%-1
set/a num_=10-%num%
echo 您已使用了%num_%次,剩余使用次数:%num%次
set/a times-=1
echo %times% >times.tx_
pause>nul
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
8 发表于 2007-07-12 09:29 ·  中国 广东 肇庆 电信
初级用户
★★
积分 165
发帖 74
注册 2007-01-08 08:17
19年会员
UID 75816
性别 男
状态 离线
谢谢,times.tx_可以是abc.exe吗?
%times%可以是file吗? 假设file\abc.exe
9 发表于 2007-07-12 21:29 ·  中国 广东 佛山 电信
初级用户
★★
积分 193
发帖 98
注册 2007-01-17 11:56
19年会员
UID 76803
性别 男
状态 离线
@echo off
if not exist times.tx_ echo 10>times.tx_
for /f %%a in (times.tx_) do set/a times=%%a
if %times% EQU 0 echo 试用已到期&pause>nul&exit
set/a num=%times%-1
set/a num_=10-%num%
echo 您已使用了%num_%次,剩余使用次数:%num%次
set/a times-=1
echo %times% >times.tx_
pause>nul


这个思路经典
这家伙很聪明 什么都没留下
论坛跳转: