Dos批处理命令在Windows局域网络环境下的精典超强使用实例上篇
Admin | 2008-4-7 19:38:14 | 被阅次数 | 9121
引言:用批处理命令在Windows下方便实现学生的文件操作练习、利用局域网定制学生机的桌面、开始菜单、IE收藏夹等,分发文件或文件夹,检测学生的文件操作结果,将学生机作业收集到教师机。
如何在让学生进行诸如新建文件夹、文件和文件夹的复制、移动、改名、删除、创建快捷方式等操作时既要进行足够的练习,又不至于误删有用文件,或搞得硬盘中“垃圾”文件一大堆呢?如何在网络环境下快速地将一批文件发送给每一台学生机或将学生的一个班级学生的作业收集到教师机呢?下面是一些使用经验,希望能起到“抛砖引玉”的作用。
可以在每台学生机上建立如下内容的CONFIG.SYS文件:
device=c:\windows\himem.sys
device=c:\windows\emm386.exe ram
device=c:\windows\ramdrive.sys 600 256 128/e
它可以在学生机的扩展内存中建立一个大小为600KB,每扇区256字节,根目录最多允许128个目录项的虚拟磁盘。简单一点的话最后一行可以简写为:
device=c:\windows\ramdrive.sys 600/e
事先准备一个文件夹(这里以C:\XX为例),并在虚拟盘上准备一批练习用的目录树与文件(可以包含长文件名、隐含文件或系统文件),然后用ARJ32进行压缩成自解压文件:
arj32 a c:\xx\czlx e:\*.* -r -a -a1 -je1
然后建立如下的批处理文件CZLX.BAT(这个E:必须是你机器上的虚拟磁盘盘符,不可搞错!因为执行此命令后,原E:上的所有文件都将被删除!切记!!):
@echo off
e:
cd\
deltree/y e:\*.*>nul
c:\xx\czlx.exe -y >nul
subst a: e:\
start a:
exit
再为上述批处理文件建立相应的桌面快捷方式或开始菜单命令,只要学生双击桌面快捷方式就可以自动在虚拟磁盘上建立一批练习用的目录树和文件,并自动打开虚拟磁盘的窗口。可以在虚拟磁盘上随意复制、改名、删除和移动文件,只要根据这套文件设置一批相应的练习题即可。这里把虚拟磁盘模拟成了A:,如不需要进行A:的模拟,可以把上面的“subst a: e:\”一行删除,再把“start a:”改为“start e:”即可。
假如学校的机房有56台学生机,为了方便管理,把学生机的标识设置为S11……S1e、S21……S2e、……S4e。在网络环境下可以设置磁盘或文件夹的共享。我把学生机的所有磁盘的访问类型设置成“完全共享”,本地硬盘共享为“C$”和“D$”(不含引号),虚拟磁盘共享为“E”,这样如通过“网上邻居”直接查看只能看到各台机器上的共享磁盘为E,别人机器的硬盘则一定要知道它们的共享名才能进行访问。(也可将C盘、D盘的共享名设置成其它名字,可以增强保密性,只要在最后加上美元符号“$”就可以在“网上邻居”中隐藏起来而必须在地址栏中输入其共享名才能进行网络访问,不知道共享名的就不能对C盘D盘进行访问。举例说,在“我的电脑”窗口的地址栏中输入\\S11\C$就可访问S11机的C盘)这样,通过Windows的复制、粘贴、删除等功能可以方便地对任何一台学生机上的文件进行操作,而学生相互之间则一般不会对其它学生的机器进行访问。但是如果要想对56台机器进行同样的操作则工作量就太大了,这个时候可以使用DOS的批处理命令。由于是对局域网上别的机器进行操作,所以相关的机器都必须启动Windows并接通了网络方能进行。考虑到常用的DOS命令中的“操作对象”(学生机)有时出现在参数一的位置,有的则出现在参数二的位置,我设计了二个批处理命令PML1和PML2。
PML1.BAT的内容如下(它处理“操作对象”在参数一位置上的DOS命令,允许带其它开关):
@echo off
if "%1%"=="" echo Using Format: PML1 command para1 ...
if "%1%"=="" echo Example: PML1 Del c$\*.bak
if "%1%"=="" echo PML1 Deltree c$\*.bak /y /q
if "%1%"=="" goto end
echo on
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 \\S1%%a\%2 %3 %4 %5
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 \\S2%%a\%2 %3 %4 %5
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 \\S3%%a\%2 %3 %4 %5
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 \\S4%%a\%2 %3 %4 %5
:end
当我要在每台学生机的C盘上建立一个多级子文件夹\XX\GAMES时可以使用上面的批处理命令(事先保证每台学生机已进入WINDOWS并且局域网已连通):
PML1 MD C$\XX
PML1 MD C$\XX\GAMES(或使用XCOPY命令)
如果要删除每台学生机上的文件夹C:\LX下面所有的.TMP文件,可以使用如下的命令:
PML1 DEL C$\LX\*.TMP
如果要删除每台学生机上的文件夹C:\LX及其下面的所有文件及文件夹,可以使用如下的命令:
PML1 DELTREE/Y C$\LX
如果要删除学生机桌面上多余的快捷方式,只要用上述的方法把要保留的快捷方式(.LNK文件)的属性设置为只读,然后用PML1 DEL C$\WINDOWS\DESKTOP就可把桌面上其它快捷方式全部删除。
如果要清除所有学生机通过IE浏览网页的历史记录,可以使用以下的批处理命令:
PML1 DELTREE/Y C$\WINDOWS\HISTORY\*.*
以上的方法也同样适用于长文件名系统,只要在DOS环境下确认相应文件的短文件名即可。例如要将每台学生机上C:\My Documents\上机练习.DOC文件设置为只读,可以使用如下的批处理命令:
PML1 ATTRIB C$\Mydocu~1\上机练习.DOC +R
再如要将IE的“收藏夹”清理为指定的内容,
PML1 DELTREE/Y C$\WINDOWS\Favori~1\*.*
PML2 XCOPY32 C:\WINDOWS\Favori~1\*.* C$\WINDOWS\Favori~1\*.* /S/E