PML2.BAT的内容如下(它处理“操作对象”在参数二位置上的DOS命令,允许带其它开关):
@echo off if "%1%"=="" echo Using Format: PML2 command para1 para2 ... if "%1%"=="" echo Example: PML2 Copy c$\*.wps \Ucdos if "%1%"=="" echo PML2 Xcopy c$\uc\*.wps d$\mydir /s /e 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 %2 \\S1%%a\%3 %4 %5 %6 for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 %2 \\S2%%a\%3 %4 %5 %6 for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 %2 \\S3%%a\%3 %4 %5 %6 for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do %1 %2 \\S4%%a\%3 %4 %5 %6 :end
看图软件ACDSEE只需要拷贝就可运行。当我要把Acdsee Systems\*.*连同其下的子文件夹拷贝到每台机器的C:\Program Files\文件夹时,可以使用如下的命令(事先把Acdsee Systems文件夹复制到一个新建的临时文件夹111中,并保证每台学生机已进入WINDOWS并且局域网已连通)
PML2 XCOPY32 111\*.* C$\Progra~1 /S/E DELTREE/Y 111 {删除临时文件夹111}
还可以在每台学生机的开始\程序\附件菜单中建立相应的命令项:
PML2 COPY Acdsee.lnk C$\Windows\Startm~1\Programs\附件
顺便说一下,XCOPY32是一个非常有用的命令,它的用法与XCOPY命令完全相同,但是XCOPY32能够复制长文件名的文件与文件夹。一般只有/S与/E开关用得最多。下面说几个非常有用的开关:
/M 复制文档时清除原文档的存档属性 /D:date 只复制指定日期或以后建立或修改过的文件,如未给出日期
则只复制比目标文件日期更近的文件
/P 复制之前给出提示 /S 连同子目录复制(空目录除外) /E 连同空子目录复制 /C 复制时出错仍继续复制. /Q 复制时不显示文件名. /F 复制时显示完整的源与目标的路径与文件名. /H 连同隐含与系统文件一起复制. /R 复制时覆盖同名的只读文件. /K 连同属性一起复制,通常的XCOPY会去掉文件的只读属性。 /Y 覆盖已有文件时不给出提示
例如要对学生机的MSDOS.SYS文件进行修改,可以执行以下的DOS命令:
TYPE \\S11\C$\MSDOS.SYS>D:\MSDOS.SYS (获取学生机的文件内容) EDIT D:\MSDOS.SYS (非只读文件,修改完成后存盘) ATTRIB D:\MSDOS.SYS +H +S +R (设置文件属性) PML2 XCOPY D:\MSDOS.SYS C$ /R/K/H (保留文件属性并覆盖原来的只读、隐含、系统属性文件) DEL D:\MSDOS.SYS (删除临时文件)
还可以利用批处理对学生的上机作业进行批改。例如,我布置学生在虚拟的A盘上完成以下的上机操作:
1. 在A盘的根文件夹下建立文件夹ABC10。 2. 删除A盘根文件夹下原有的子文件夹SC。 3. 将A:\MXT下的文件TEST.TXT复制到文件夹A:\SA下。 4. 将A盘根文件夹下的WORD文档WAM的主名更改为MXY。 5. 将A盘My Documents文件夹下的文件1.TXT移动到A:\SB文件夹下。
为了在教师机上对学生的操作情况进行批分,我在教师机上建立了如下二个批处理文件:PF.BAT用于批改一个学生的操作情况,批改S11机的完成情况时进入WINDOWS的MSDOS方式执行PF 11 <回车>即可。PF.BAT文件的内容如下:
@if exist \\s%1\e\abc10 echo No.1 OK! @if not exist \\s%1\e\sc echo No.2 OK! @if exist \\s%1\e\mxt\test.txt if exist \\s%1\e\sa\test.txt echo No.3 OK! @if exist \\s%1\e\mxy.doc if not exist \\s%1\e\mam.doc echo No.4 OK! @if exist \\s%1\e\sb\1.txt if not exist \\s%1\e\ mydocu~1\1.txt echo No.5 OK! @pause
当全班学生(学生按学号依次入坐)操作完成时用批命令PALL完成对全部学生的批改:
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do call pf 1%%a for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do call pf 2%%a for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do call pf 3%%a for %%a in (1 2 3 4 5 6 7 8 9 a b c d e) do call pf 4%%a
当我们要对WORD文档的编辑操作进行考核时,由于各班的课是连着的,会因时间紧凑而对批分及清除已操作过的文档带来麻烦。这时你可以进行以下的操作:上课时发卷:
PML1 COPY 初一试卷.DOC C$\Mydocu~1
规定学生答卷文件的主名为班级学号(数字)+姓名(例如初一(1)班学号3号的王小民,则其存盘文件主名为“1103王小民”),下课时只要执行命令:
pml1 move c$\mydocu~1\11*.doc d:\c1\c11
就可以将初一(1)班所有学生本节课的WORD文档全部收集到教师机D盘的\C1\C11文件夹下且学生机上不再留有文件,为可靠起见,再执行一条命令
pml1 deltree/y c$\mydocu~1\*.doc
以上是我在WINDOWS和网络环境下使用批处理命令的一些用法,事先为MS-DOS方式指定一个快捷键,需要时一按快捷键就进入DOS方式,就能对所有的学生机进行操作,操作完成后输入EXIT命令就返回窗口界面,非常方便。
文章作者:江苏省太仓市第二中学 吴建心
转载文章的网站,请尊重版权,注上作者姓名! |