精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>○ DOS>>问题解答>>关于批处理>>Re: 请问一个批处理的问题。。谢了。。(1)

主题:Re: 请问一个批处理的问题。。谢了。。(1)
发信人: microant()
整理人: znw(1999-11-10 12:49:14), 站内信件
【 在 ldwolf (我是好人) 的大作中提到: 】
: @ECHO OFF
: IF DRIVE=="A:\" GOTO END123  
: IF DRIVE=="C:\" GOTO END123 
: IF %COMSPEC%=="C:\COMMAND.COM" SET DRIVE=A:\(%COMSPEC%的含义是什么??
: )  
%comspec%是DOS的命令解释器的路径,一般来说指向c:\command.com或者
c:\windows\command.com,我们输入的DIR、COPY等命令就是它解释并执行的,
如果有需要也可以用其他解释器代替比如4DOS,DRDOS,NDOS等
: IF %COMSPEC%=="A:\COMMAND.COM" SET DRIVE=C:\  

: IF NOT EXIST %DRIVE%AUTOEXEC.BAT GOTO END123(这句有什么用处??)
如果DRIVE盘上的跟目录不存在AUTOEXEC.BAT就转到行号END123

: COPY A.BAT %DRIVE%>NUL(此处NUL是什么东西??设备名吗??) 
NUL是空设备,这里实际上是把COPY命令执行完后的输出 X FILES COPIED给
屏蔽掉(显示输出被重定向到空设备了,所以什么都看不到)

: ECHO CALL A。BAT>TMP.DAT(此处为何要建一个TMP。DAT文件??)
没看到吗?后面要用呀,其实目的是把call a.bat写到drive盘的autoexec.bat
里去。

: COPY %DRIVE%AUTOEXEC.BAT+TMP.DAT>NUL(此处是不是要用">>"来重定向??)
不是,>>是追加,此处是把两文件合并,得到的新文件就是autoexec.bat,>NUL
是为了屏蔽COPY的输出


: DEL TMP.DAT>NUL(为何此处要删除TMP。DAT??删除后如何重定向??)
这文件只是为了中间使用,没有存在价值,用完了当然要删掉,此处的重定向
是把DEL命令的结果输出屏蔽掉

: : END123 
: ECHO ON

一句话,你对重定向的理解大概有误了……
--
                                    Microant(蚁不群)
少年不识愁滋味,爱上层楼,爱上层楼,为赋新词强说愁;
而今识尽愁滋味,欲语还休,欲语还休,却道天凉好个秋。

※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.96.190.124]

[关闭][返回]