中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 请帮助分析一个批处理文件 上一主题 | 下一主题
seifer1754
初级用户





积分 26
发帖 9
注册 2006-3-16
状态 离线
『楼 主』:  请帮助分析一个批处理文件

这个是IBM公司的一个电脑检测软件中的autoexec.bat程序,用到了很多的DOS命令和参数,希望大家能够帮助我分析一下,感激不尽。 @ECHO OFF cls /* REXX */ ramDrive = '' /* validDrives = 'C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: ' */ validDrives = ' Y: X: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C:' maxDrive = words(validDrives) driveInfo = '' DO i = 1 to maxDrive ramDrive = word(validDrives , i) driveInfo = rxdinfo(ramDrive) if driveInfo \= '' then do if word(driveInfo,4) = 'RAMDRIVE' then i = maxDrive+1 /* say "Drive: " ramDrive ", info: " driveInfo say "volume label = " word(driveInfo,4) */ end /* do */ end /* do */ value('RAMDRIVE', ramDrive, 'DOSENVIRONMENT') return rem 这上面的一段批处理程序不清楚是什么意思 prompt PCDR$l$n$g rem 显示 <pcdr> 的命令提示 A:\DOS\MOUSE.COM > NUL %RAMDRIVE% md PCDR cd PCDR copy A:\TPTOOLS\*.* . > NUL copy A:\PLNRCHK.BAT . > NUL copy A:\REXX.EXE . > NUL copy A:\RXDINFO.RX . > NUL copy A:\COMMAND.COM . > NUL rem 这里是将软盘中的这些文件copy到什么地方去了? SET COMSPEC=%RAMDRIVE%\PCDR\COMMAND.COM call plnrchk.bat if "%PLNRID%"=="NA" goto EXIT echo Please wait, unpacking diagnostics ... a:\tpdiag.exe -o > NUL a:\TPPLGE2.EXE -o > NUL rem 请问参数 -o 代表什么意思? :ENDLOOP1 echo Done. :LOOP2 echo. echo Please insert PC-Doctor DOS #145-2 Disk and pause if not exist a:\tpdiag2.exe goto loop2 echo Please wait, unpacking diagnostics ... a:\tpdiag2.exe -o -d > NUL a:\tpplg91.exe -o > NUL if "%PLNRID%" == "SYSID96" goto TPPLGW7 a:\tpplgw4.exe -o > NUL a:\tpplgw6.exe -o > NUL if "%PLNRID%" == "SYSID91" goto ENDLOOP4 :TPPLGW7 a:\tpplgw7.exe -o > NUL PLNRID2.EXE 168C/1014/1014/057E IF NOT ERRORLEVEL 1 GOTO SKPPLGW7 COPY /Y .\*.ABG *.INI > NUL rem 请问 copy /y.\*.ABG *.INI > NUL 是什么意思? :SKPPLGW7 a:\TPPLGM7.EXE -o > NUL COPY /Y .\HSF_ICH.4C6 *.INI > NUL PLNRID2.EXE 8086/3582 IF NOT ERRORLEVEL 1 GOTO ENDLOOP2 A:\TPPLGD9.EXE -o > NUL GOTO ENDLOOP4 :ENDLOOP2 echo Done. rem 第二个软盘放入后,是否就不会执行下面的指令了? :LOOP3 echo. echo Please insert PC-Doctor DOS #145-3 Disk and pause if not exist A:\TPPLGD10.EXE goto loop3 echo Please wait, unpacking diagnostics ... COPY A:\TPPLGD10.EXE . > NUL :ENDLOOP3 echo Done. :LOOP4 echo. echo Please insert PC-Doctor DOS #145-4 Disk and pause if not exist A:\TPPLGD10.002 goto loop4 echo Please wait, unpacking diagnostics ... COPY /b TPPLGD10.EXE+A:\TPPLGD10.002 TPPLGD10.EXE /y > NUL TPPLGD10.EXE -o > NUL DEL TPPLGD10.EXE > NUL :ENDLOOP4 echo Done. SET OPTIONS= TPTSR1.COM if "%PLNRID%" == "SYSID91" goto SYSID91 if "%PLNRID%" == "SYSID96" goto SYSID96 :SYSID91 COPY /Y .\SYSID91\*.* . > NUL TPTSR.EXE 0F 00 0 GOTO CHKINI :SYSID96 COPY /Y .\SYSID96\*.* . > NUL TPTSR.EXE 0F 00 0 GOTO CHKINI :CHKINI IF EXIST PCDR.INI GOTO RUNPCDR echo. echo. echo Missing PCDR.INI file. goto EXIT :RUNPCDR pcdr %OPTIONS% :EXIT 在第一章软盘放入后,自动执行了以上的autoexec.bat,可是当按照提示放入第二章软盘后,不会再出现 "Please insert PC-Doctor DOS #145-3 Disk and" 这个提示,不知道是什么原因造成的。


2006-3-16 17:36
查看资料  发短消息  网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

楼主问的问题,要么就是一些DOS基础知识方面的问题,要么就跟具体的应用环境有关系。 在我看来,有些命令是不可能出现在DOS环境中的,有可能这是IBM专门为PC-DOS的批处理定制的命令,例如前面的DO循环命令及words()函数等。




偶只喜欢回答那些标题和描述都很清晰的帖子! 如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-17 08:49
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (653668)  编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

:: 这是设置DOS提示符的命令,提示符会变成: PCDR<当前盘符> prompt PCDR$l$n$g A:\DOS\MOUSE.COM > NUL :: 注意下面的命令将当前盘由A:盘改为虚拟内存盘 %RAMDRIVE% md PCDR cd PCDR :: 现在的当前目录是:%RAMDRIVE%\PCDR,下面的命令中用.来表示这个目录 :: 而下面的copy命令们就是将A:盘的对应文件复制到上面的目录中 copy A:\TPTOOLS\*.* . > NUL copy A:\PLNRCHK.BAT . > NUL copy A:\REXX.EXE . > NUL copy A:\RXDINFO.RX . > NUL copy A:\COMMAND.COM . > NUL rem 这里是将软盘中的这些文件copy到什么地方去了? :: 所以,这个问题的答案就是,这些文件copy到虚拟内存盘的PCDR目录中了。




偶只喜欢回答那些标题和描述都很清晰的帖子! 如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-3-17 15:47
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (653668)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: