中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 01:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮忙写个条件开机批处 查看 1,078 回复 13
楼 主 帮忙写个条件开机批处 发表于 2007-03-18 13:38 ·  中国 广东 广州 联通
新手上路
积分 16
发帖 6
注册 2007-03-14 07:35
19年会员
UID 81692
性别 男
状态 离线
我自己写了一个批处内容如下:
@echo off
if not exist h:\aaa.txt shutdown -s -f -t 0
H盘为U盘,只要建个aaa.txt就可以实现必须要U盘才能开机.
但是只在开机的时候检测一次,有没有可以在系统运行中不断检测的?(既一拔掉U盘就关机)
2 你就循环运行这个bat就ok拉 发表于 2007-03-18 14:59 ·  中国 广东 湛江 电信
新手上路
积分 4
发帖 1
注册 2006-11-26 11:01
19年会员
UID 71787
性别 男
状态 离线
你就循环运行这个bat就ok拉
3 发表于 2007-03-18 18:06 ·  新西兰
初级用户
积分 107
发帖 47
注册 2007-03-03 03:12
19年会员
UID 80618
性别 男
状态 离线
汗 你怎么知道H盘是别人的U盘
4 发表于 2007-03-18 23:36 ·  中国 广东 广州 联通
新手上路
积分 16
发帖 6
注册 2007-03-14 07:35
19年会员
UID 81692
性别 男
状态 离线
2楼,我知道要循环运行啊,但不知道怎么实现啊!可以详细的写个出来吗?让大家学习啊...
5 发表于 2007-03-19 00:27 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
@echo off
if not exist h:\aaa.txt shutdown -s -f -t 0

你把这个批处理做个定时任务,不就OK了!
6 发表于 2007-03-19 01:15 ·  中国 湖南 长沙 电信
新手上路
积分 9
发帖 5
注册 2007-03-19 00:24
19年会员
UID 82181
性别 男
状态 离线
这个比较有意思。。。

还可以在aaa.txt里面写上自已的密码哦,,不就可以知道是不是自已的还是别人的了吗

可以用SLEEP.

也可以用:@echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs
Delay.vbs 60
del Delay.vbs

这一段VBS,那个60是60秒,,可以修改,

要做到后台运行可以用:Set shell = Wscript.createobject("wscript.shell")

a = shell.run ("你的批处理文件名",0)


这一段VBS

[ Last edited by chengmo on 2007-3-18 at 12:25 PM ]
7 发表于 2007-03-19 02:27 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off
:loop
if not exist h:\aaa.txt shutdown -s -f -t 0
goto loop
8 发表于 2007-03-19 03:12 ·  中国 湖南 长沙 电信
新手上路
积分 9
发帖 5
注册 2007-03-19 00:24
19年会员
UID 82181
性别 男
状态 离线
Originally posted by slore at 2007-3-18 01:27 PM:
@echo off
:loop
if not exist h:\aaa.txt shutdown -s -f -t 0
goto loop

这个太占资源了吧
9 发表于 2007-03-19 08:10 ·  中国 广东 广州 联通
新手上路
积分 16
发帖 6
注册 2007-03-14 07:35
19年会员
UID 81692
性别 男
状态 离线
首先谢谢6楼和7楼.....7楼的代码如果可以有时间间隔运行就更好!
10 发表于 2007-03-20 07:35 ·  中国 湖南 长沙 电信
新手上路
积分 9
发帖 5
注册 2007-03-19 00:24
19年会员
UID 82181
性别 男
状态 离线
@echo of
:start
if not exist l:\aaa.txt shutdown -s -f -t 0
@echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs
Delay.vbs 5
del Delay.vbs
goto start


这样可以吗?

[ Last edited by chengmo on 2007-3-28 at 12:23 PM ]
11 发表于 2007-03-29 01:24 ·  中国 湖南 长沙 电信
新手上路
积分 9
发帖 5
注册 2007-03-19 00:24
19年会员
UID 82181
性别 男
状态 离线
这个我在我电脑上面用了一下,可以哦,呵呵
12 发表于 2007-03-29 05:12 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by chengmo at 2007-3-19 18:35:
@echo off
:start
if not exist l:\aaa.txt shutdown -s -f -t 0
@echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs
Delay.vbs 5
del Delay.vbs
goto start


这样可以吗?

[ ...

建立、删除VBS罗嗦了,改一下:
@echo off
echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs
:start
if not exist l:\aaa.txt shutdown -s -f -t 0
if exist Delay.vbs (Delay.vbs 5) else exit
goto start

如果需要停止,直接删除Delay.vbs就退出bat
13 发表于 2007-04-09 04:38 ·  中国 广东 广州 联通
新手上路
积分 16
发帖 6
注册 2007-03-14 07:35
19年会员
UID 81692
性别 男
状态 离线
谢谢,chengmo,zh159...可以了哦.....呵呵.....
14 发表于 2007-04-10 03:44 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 866
发帖 415
注册 2005-12-04 11:19
20年会员
UID 46459
状态 离线
@echo off
start /min
:star_
dir /a/b l:\aaa.txt || shutdown -s -f -t 0
ping 127.1 -n 30>nul 2>nul
goto star_
论坛跳转: