中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 10:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 可否使批命令在特定的时间后(二十分钟)执行 查看 3,441 回复 15
楼 主 可否使批命令在特定的时间后(二十分钟)执行 发表于 2006-05-09 11:48 ·  中国 上海 金山区 电信
初级用户
积分 25
发帖 9
注册 2005-10-21 18:41
20年会员
UID 43860
状态 离线
我校的多媒体教室硬件损坏严重,作为维护人员,我一直在寻找良策.让学校购买一套软件是最简单的办法,但学校不同意,仅仅是为了省钱.我想可否以批处理 的方式实现学生实名登陆:
多媒体教室共有五十台学生机(98系统)和一台教师机(win2000),每周约有二十节课.但每个星期都发现学生搞破坏:不是鼠标球不见了就是键盘上的几个键被学生撬走了,作为机房维护者,我想:要减少学生的破坏行为,必须利用教师机记录好每节课每台电脑的使用者。(必须以电子文档形式,每台电脑前放个本子让学生登记根本没用)
为实现这一点,我拟采用以下方案:

学生上机 后,必须在桌面新建一个以机号及学生姓名命名的文本文件(内容为空),文本文件命名完毕后自动上传至教师机,也可由教师在 教师机上运行一个批处理来收集学生在桌面新建的文本文档,之后将所有学生的文本文按机号在大屏幕上显示,(便于学生互相监督,促使每个学生用真实姓名命名文本文档),待收集到每位学生的机号及姓名后由教师将这些文本文档保存在特定位置便于机房人员查找破坏硬件者

问题是:教师机用来收集以学生真实姓名命名的文本文档的批处理该怎样写?
谢谢

[ Last edited by jamjiajam on 2006-5-9 at 22:48 ]
2 发表于 2006-05-09 12:43 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
学生机设置好文件共享,管理机上用copy \\IP\共享 把文件全部拷贝到本机上,可以用for /f(固定IP且有IP列表文件)或者for /(DHCP)l来实现多IP操作。至于屏幕上显示,不知道是在管理机上用投影仪投影到大屏幕上还是学生机上自己显示?如果只是学生机上显示的话用脚本就不行了,随便开一个窗口就把显示的内容挡着了。
用批处理来实现你的目的是很不理想的,破绽太多。建议用专用软件,实在不行下个破解版的网吧管理软件去,用万象应该可以满足你的要求了。
3 谢谢3742668斑竹 发表于 2006-05-09 22:20 ·  中国 上海 金山区 电信
初级用户
积分 25
发帖 9
注册 2005-10-21 18:41
20年会员
UID 43860
状态 离线
问题已初步解决:
步骤如下:
1.教师机(win2k)桌面建立一"上机情况"文件夹(公享,权限为可写入)
2.在学生机(98)上映射该文件夹
3 .学生机桌面上建一BAT文件,该BAT作用是将桌面上的记事本文件复制到映射驱动器中
4.学生上机后先建立或修改桌面记事本文件名(以学生机编号及学生姓名命名)
5.上机学生执行BAT
旧问题解决了,新问题又出来了,新问题如下:
由于多媒体教室每天有多节课,每节课的学生均不相同,教师机就必须保存好每节课每台学生 机的使用人情况(即以学生机编号及学生姓名命名的空白记事本文件),下一节课上课前"上机情况"文件夹中的文件又必须及时剪切到D盘中的上机情况汇总文件夹中(下节课教师机大屏幕上显示的"上机情况"文件夹应该仅为该节课的学生姓名,便于学生互相监督,该文件夹内容如不及时清空,"上机情况"文件夹将同时显示前一班级的用机情况),由上课教师来剪切"上机情况"文件夹中的所有记事本当然也可以,但要花一定的时间.我想通过批命令完成这一工作(教师进入多媒体教室后仅需执行该BAT即可)
该批命令应该实现以下功能:
1.自动打开桌面"上机情况"文件夹,大屏幕显示文件中的所有文件
2.在D盘上机情况汇总文件夹自动建立新文件夹(该文件夹最好以文件夹创立时的日期及时间命名)
3.
在教师执行BAT二十分钟后,该BAT能自动将桌面上"上机情况"文件夹中的所有文件剪切到D盘上机情况汇总文件夹中最新的文件夹总,
不知批处理能否实现以上的两个要求
不知道以上内容表达得清楚与否
最后再次对斑竹及所有浏览本贴的朋友表示刚感谢

[ Last edited by jamjiajam on 2006-5-9 at 22:31 ]
4 发表于 2006-05-10 14:03 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
1.自动打开桌面"上机情况"文件夹,大屏幕显示文件中的所有文件
可以用start 文件目录 或者 explorer 文件目录来完成。
2.在D盘上机情况汇总文件夹自动建立新文件夹(该文件夹最好以文件夹创立时的日期及时间命名)
可以用 md %date%来建立文件夹。
3.
在教师执行BAT二十分钟后,该BAT能自动将桌面上"上机情况"文件夹中的所有文件剪切到D盘上机情况汇总文件夹中最新的文件夹总
参考命令: ping,at,move
ping 有两个参数,/n 表示次数,-m表示超时时间,组合起来应该可以实现延时的作用。at相当于计划任务,move用来剪贴,或者用copy+del也可

一点建议:对于上机情况中的文件,文件名是学生姓名以及编号的话,可以不用移动这写文件,只需要用dir把所有的文件名写到一文件当作日志就行了。
你参照着自己写一下,如果有什么问题可以把你的代码贴上来大家一起帮你看看。
5 谢谢3742668斑竹的答复 发表于 2006-05-10 21:28 ·  中国 上海 金山区 电信
初级用户
积分 25
发帖 9
注册 2005-10-21 18:41
20年会员
UID 43860
状态 离线
正在尝试,谢谢,

[ Last edited by jamjiajam on 2006-5-10 at 21:41 ]
6 调试 发表于 2006-05-11 21:59 ·  中国 上海 金山区 电信
初级用户
积分 25
发帖 9
注册 2005-10-21 18:41
20年会员
UID 43860
状态 离线
echo off
explorer d:\1
rem 打开D盘1文件夹,该文件夹存放学生当节课上机记录
ping -n 20 127.0.0.1>nul
rem 延时,20秒后执行下一条命令,假定20秒后所有学生均已将含有机号姓名命名的空白文本文件传至d:\1
dir d:\1 /a >d:\本节课上机汇总.txt
rem 将1文件夹中的记事本文件名输出到D盘本节课上机汇总.txt中(用dir把所有的文件名写到一文件当作日志)
copy/b d:\本节课上机汇总.txt+d:\本月上机汇总.txt d:\3.txt
rem 合并,将本节课上机汇总.txt中的内容添加到本月上机汇总.txt,生成3.txt,合并后将3.txt改名为本月上机汇总.txt
del d:\本节课上机汇总.txt,由于本节课上机汇总已添加到本月上机汇总.txt,故可删除
ren d:\3.txt 本月上机汇总.txt
将3.txt改名为本月上机汇总.txt
del d:\1\*.txt
rem 删除d:\1文件夹,该文件夹存放学生当节课上机记录,该文件夹中的所有信息已添加到本月上机汇总.txt
copy d:\2\1.txt d:\ /y
rem 将d盘文件夹2中的1.txt复制到d盘根目录

[ Last edited by jamjiajam on 2006-5-11 at 22:30 ]
7 谢谢您的回复 ,不胜感激 发表于 2006-05-11 22:53 ·  中国 上海 金山区 电信
初级用户
积分 25
发帖 9
注册 2005-10-21 18:41
20年会员
UID 43860
状态 离线
Quote:
错误有没有提示?或者运行后的结果是什么?
可以在ping后面用echo %time% >时间.txt中看时间是否正确,毕竟用ping来延时不是很准确。



谢谢您的及时回复 ,您能看看我的命令中有什么错误吗?ping来延时不是很准确,这倒并不是很重要
运行至“已复制,改写3.txt吗”,输入y后,提示已复制 1个文件“后中断,具体见附件

批命令已改写,可能更易看懂
http://www.cn-dos.net/forum/view ... id=nk0Yxg#pid122034
附件
Doc1.rar (49.41 KiB, 下载附件所需积分 1 点, 下载次数: 63)
8 发表于 2006-05-11 22:58 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线

@echo off
ping 0.0.0.2 -n 1 -w 1200000 rem 延时20分钟
echo %date% %time% >>本节课上机记录.txt
dir d:\1\*.txt /b >>本节课上机记录.txt
type 本节课上机记录.txt >>本月上机记录.txt
del 本节课上机记录.txt
del d:\1\*.txt

主要的要求似乎就是上面的了,酌情修改。
9 发表于 2006-05-12 17:03 ·  中国 福建 泉州 电信
高级用户
★★
论坛灌水专业户
积分 613
发帖 266
注册 2006-04-19 22:47
20年会员
UID 54113
来自 河南省
状态 离线
全都是高手啊,领教了!
饮马恒河畔,剑指天山西,碎叶城揽月,库叶岛赏雪,黑海之滨垂钓,贝尔加湖面张弓;中南半岛访古,东京废墟祭祖!
10 发表于 2006-05-12 22:56 ·  中国 福建 莆田 联通
中级用户
★★
DOS爱好者
积分 213
发帖 99
注册 2006-03-26 12:36
20年会员
UID 52807
性别 男
状态 离线
批处理果然历害
11 发表于 2006-05-27 18:05 ·  中国 湖南 长沙 开福区 电信
新手上路
积分 2
发帖 1
注册 2006-05-27 17:06
20年会员
UID 56098
性别 男
状态 离线
大家都是高手.呵呵!!哎都比较灵活
12 发表于 2006-05-30 10:02 ·  中国 广东 阳江 电信
新手上路
积分 4
发帖 2
注册 2006-05-30 09:59
20年会员
UID 56240
状态 离线
用命令timeout


C:\>timeout /?

TIMEOUT timeout

描述:
这个工具接受超时参数,等候一段指定的时间(秒)或等按任意键。它还接受
一个参数,忽视按键。

参数列表:
/T timeout 指定等候的秒数。有效范围从 -1 到 99999 秒。

/NOBREAK 忽略按键并等待指定的时间。

/? 显示该帮助消息。

注意: 超时值 -1 表示无限期地等待按键。

示例:
TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1


时间不够时多用几个
13 发表于 2006-06-11 18:00 ·  中国 河南 郑州 电信
初级用户
★★
积分 136
发帖 59
注册 2006-06-02 16:05
20年会员
UID 56438
状态 离线
高手啊
14 发表于 2006-07-11 18:09 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
偶用的WIN2000,怎么没有TIMEOUT这个命令?
15 发表于 2006-07-11 21:01 ·  中国 上海 虹口区 电信
高级用户
★★
积分 653
发帖 252
注册 2006-04-16 19:48
20年会员
UID 53939
状态 离线
用 sleep 命令不是很好吗?
论坛跳转: