查看:481 回复:4
发表于 2004-8-13 09:24
TA的每日心情 | 开心 2017-7-28 22:00 |
---|
签到天数: 52 天 [LV.5]常住居民I
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
编写批处理文件
1.编写批处理文件BP.BAT,存在考盘根目录下,在Win98的命令行界面使用此文件,能实现以下功能。(假定所有未指明路径的文件都在C:\US中)
用COPY命令显示当前目录下文本文件ABC.TXT的内容。
如果子目录D:\DATA中存在文件HELP.TXT,则先在该文件的尾部添加一行文字:7/14/02 ,再用一条命令将文本文件D:\CJ.TXT的内容添加到后面。
如果批命令后跟有参数,则先在屏幕上显示该参数,再将该参数添加在已有环境变量KB原有值的后面。(提示:以上两个“如果”之间不是简单的互相排斥关系)。
无论何种情况,显示C盘根目录中(不包括下级子目录)主名以A开头、扩展名为DAT的全部文件的目录信息,并按文件长度升序排列,长度相同时按主名字符降序排列,每项占一行。
copy .\abc.txt con
if exist d:\data\help.txt goto aa
goto bb
:aa
echo "7/14/02">>help.txt
type D:\CJ.TXT>>d:\data\help.txt 这里为什么要用TYPE命令?
:bb
if not exist '%1'=='' goto cc
ecoh %1
set kb=%kb%%1
:cc
dir c:\a*.dat /s-n /w
2.编写批处理文件BP.BAT,存在考盘根目录下,在Win98的命令行界面使用此文件,能实现以下功能。(假定所有未指明路径的文件都在C:\US中)
已有子目录D:\DATA1和D:\DATA2,都没有下级子目录,其中一个子目录下存有扩展名为TXT的文件,另一子目录下没有扩展名为TXT的文件。用一行命令将存有TXT文件的那个子目录下的全部文件复制到子目录D:\DATA3中,但不复制另一子目录下的文件。(提示:IF EXIST 后面的文件名可以使用通配符)
如果批处理命令后无参数,则先在D盘当前目录的下级子目录FD下建立新子目录FF,然后用虚拟的驱动器名F:代表这个新子目录;否则,屏幕显示批处理命令的第1个参数,然后用虚拟的驱动器名F:代表C盘的当前目录。
无论何种情况,将E盘根目录下(不包括下级子目录)的全部扩展名为DAT的文件(包括隐含和系统属性的文件)复制到虚拟驱动器F:的根目录下。
if exist d:\data1\*.txt goto aa
if exist d:\data2\*.txt copy *.txt d:\data3
goto bb
:aa
copy d:\data1\*.txt d:\data3
:bb
if exist '%1'=='' goto cc
md d:\.\fd\ff
c:\us\subst f: d:\.\fd\.fd
goto dd
:cc
ecoh '%1'
c:\us\subst f: c:\.
:dd
c:\us\xcopy e:\*.dat f:\ /h
3.编写批处理文件BP.BAT,存在考盘根目录下,在Win98的命令行界面使用此文件,能实现以下功能。(假定所有未指明路径的文件都在C:\\US中)
用一行命令,为当前目录中的两种文件改名,一种是文件名以A开头,扩展名是DAT,另一种是文件名以B开头,扩展名是BIN,新的文件名是在旧的文件名前加上字母X。
如果批处理命令后的第一参数为$,则设置环境变量KB的值为DOC;如果批处理命令后的第一参数为&或#,则设置环境变量KB的值为XLS,其它情况设置环境变量KB的值为RTF。
无论何种情况,先显示Win98的版本信息,然后用内部命令删除子目录D:\\XYZ(XYZ下没有子目录,仅有一些文件)。
for %%a in (.\a*.dat .\b*.bin) do ren *.* x*.*
if exist '%1'=='$' goto aa
if exist '%1'=='&' goto bb
if exist '%1'=='#' goto cc
set kb=rtf
goto dd
:aa
set kb=doc
goto dd
:bb
set kb=xls
goto dd
:cc
set kb=doc
:dd
ver
c:\us\attrib -h -s d:\xyz\*.*
del d:\xyz\*.*
rd d:\xyz
4.编写批处理文件BP.BAT,存在考盘根目录下,在Win98的命令行界面使用此文件,能实现以下功能。(假定所有未指明路径的文件都在C:\\US中)
用格式化命令尽快地清除B盘已有的全部内容并使其能够启动命令行界面。
如果D:\\BATCH中有文件SCP.BAT,则执行该批文件,并且在执行完毕后,不再回到BP.BAT继续执行;否则先进入允许输入汉字的状态(注意:这一命令如果使用不当,会影响其他命令的执行),再以非窗口方式启动16位文本编辑器EDIT.COM,编辑修改文本文件D:\\HELP.TXT,编辑完后撤销允许输入汉字的状态,然后显示这个文件的内容,满屏时暂停,等看完后按任意键才继续显示后续内容。
把子目录D:\\OLD(不包括下级子目录)中的全部文件复制到子目录D:\\NEW中,但D:\\NEW中已有同名文件,且修改日期和时间不早于源文件者不复制。
c:\us\format b:/q
if exist d:\batch\scp.bat goto aa
c:\us\pdo95
c:\us\start /max c:\us\edit.com d:\help.txt
quit
dir d:\help.txt /p
goto bb
:aa
scp.bat
exit
:bb
c:\us\xcopy d:\old\*.* d:\new /h /d:
此贴由 puppy525 在 2004-08-12 17:25:55 最后编辑
此贴由 puppy525 在 2004-08-12 17:27:00 最后编辑 |
|
|
|
|
|
|
|
老师你说的
iF 条件 COMMAND
如果后面跟1条命令不也是可以的啊?无论是goto还是内部、外部命令。因为第2条命令通过回车换行后,不会和第一条command相互排斥了。(Too many parameters - goto)
SET KB=%KB%%1
%kb%;%1 需要;么?
此贴由 YIYO│ζθζι 在 2004-08-12 15:54:40 最后编辑 |
|
|
|
|
|
|
TA的每日心情 | 开心 2017-7-28 22:00 |
---|
签到天数: 52 天 [LV.5]常住居民I
|
地板

楼主 |
发表于 2004-8-12 17:37:07
|
只看该作者
受老师一指点
茅塞顿开  |
|
|
|
|
|
|
|
老师你说的
iF 条件 COMMAND
如果后面跟1条命令不也是可以的啊?无论是goto还是内部、外部命令。因为第2条命令通过回车换行后,不会和第一条command相互排斥了。(Too many parameters - goto)
听不懂什么意思~~~
SET KB=%KB%%1
%kb%;%1 需要;么?----不需要 |
|
|
|
|
|
|