![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-26 20:24 |
共 47,815 主题排行 / 349,928 发帖 / 今日 0 篇 / 48,288 会员排行 |
| DOS启动盘 & LOGO技术 (启动盘室) » 如何在批处理中自动识别启动盘符 |
| 可打印版本 1,681 / 14 |
| 第1楼 he1yi | 发表于 2007-04-11 19:18 |
| 新手上路 发帖 3 积分 8 | |
|
如何在批处理中自动识别启动盘符 我们在做DOS启动盘时,有时是A盘,有时是C盘.是否能做一个通用的CONFIG.SYS 和Autoexec.bat文件适用两种情况呢?即无论是C盘还是A盘启动,这两个文件不变.各位大虾,求求了
|
|
| 第2楼 lianjiang2004 | 发表于 2007-04-11 20:29 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
是A还是C,你需要变CONFIG.SYS 和Autoexec.bat吗?
|
|
| 第3楼 djlxue | 发表于 2007-04-12 04:24 |
| 新手上路 发帖 1 积分 2 | |
|
偶不会 帮不了你了
|
|
| 第4楼 terse | 发表于 2007-04-12 06:04 |
| 银牌会员 发帖 946 积分 2,404 | |
|
Autoexec.bat文件前加上:
FOR %%a IN (A: C:) DO IF EXIST SET ud=%%a 试一下吧! |
|
| 第5楼 sunreak2008 | 发表于 2007-04-12 08:57 |
| 初级用户 发帖 13 积分 26 | |
|
Autoexec.bat文件前加上:
FOR %%a IN (A: C:) DO IF EXIST SET ud=%%a 试一下吧! 请具体解释一下是什么意思好吗? |
|
| 第6楼 terse | 发表于 2007-04-12 09:07 |
| 银牌会员 发帖 946 积分 2,404 | |
|
%ud%=你的盘符 变量的
|
|
| 第7楼 he1yi | 发表于 2007-04-12 09:07 |
| 新手上路 发帖 3 积分 8 | |
|
该命令语法不正确.不知道能否使用FOR %%a IN(A: C:) DO CD|find /C/I "A:"
当无法将find的结果返回到Autoexec.bat中 |
|
| 第8楼 0451lym | 发表于 2007-04-12 10:15 |
| 高级用户 发帖 357 积分 760 | |
|
晕!
这么简单搞那么复杂干什么呀? 这是我的: DOS=HIGH,UMB,AUTO NUMLOCK=ON device=\SYS\config.exe device=\SYS\ConfigP.Mnu ; block=0 DEVICE=\SYS\MEM\HIMEM.SYS /TESTMEM:OFF ; block=1 DEVICE=\SYS\MEM\EMM386.exe noems DEVICEHIGH=\SYS\MEM\QSCACHE.SYS /F /S7 ; block=2 DEVICE=\SYS\MEM\UMBPCI.SYS /S DEVICEHIGH=\SYS\MEM\QCACHE.SYS /L /S5 ; block=3 DEVICE=\SYS\CD\GCDROM.SYS /D:SATA-CD ; block=4 DEVICE=\SYS\CD\vide-cdd.sys /d:PATA-CD ; block=5 DEVICE=\SYS\CD\QCDROM.sys /d:PATA-CD ; block=6 DEVICE=\SYS\USB\usbaspi.sys ; block=7 DEVICE=\SYS\USB\di1000dd.sys ; block=8 DEVICE=\SYS\USB\ASPIDISK.SYS ; block=9 DEVICE=\SYS\USB\USBCD.sys /d:USB-CD ; block=10 DEVICE=\SYS\USB\NJUSBCDA.sys /D:USB-CD ; block=11 DEVICE=\SYS\USB\UHCI.EXE ; block=12 DEVICE=\SYS\USB\OHCI.EXE ; block=end FILESHIGH=100 BUFFERSHIGH=30,0 SHELL=COMMAND.COM /P /F /E:4096 FCBSHIGH=8,0 STACKSHIGH=18,512 LASTDRIVEHIGH=Z AUTOEXEC: @ECHO OFF cls rem pictview logo.sys --q --nocls DEL logo.sys SET DIRCMD=/OGN /4 SET PROMPT=$d $t$_$p$g SET HDPMI=16384>NUL SET RAMDRIVE=v:>NUL XMSDSK 12288 %RAMDRIVE% /T /Y>NUL PATH=%RAMDRIVE%;%RAMDRIVE%\BAT;%RAMDRIVE%\UCDOS; COPY COMMAND.COM %RAMDRIVE%>NUL SET COMSPEC=%RAMDRIVE%\COMMAND.COM SET TEMP=%RAMDRIVE%\TEMP IF EXIST LYM. REN LYM LYM.EXE IF EXIST LYM.EXE LYM /Y %RAMDRIVE%\>NUL IF EXIST GHOST.EXE COPY GHOST.EXE %RAMDRIVE%>NUL FOR %%X IN (LYM.EXE GHOST.EXE) DO IF EXIST %%X DEL %%X echo 引导盘符>%temp%\YD.INI cd>>%temp%\YD.INI strings YD=read %temp%\YD.INI,2 strings YD=filedrive %YD% PATH=%PATH%%YD%; echo 内存盘符>%temp%\RAM.INI echo %RAMDRIVE%>>%temp%\RAM.INI CALL Drive.bat IFS %D3% %D4% %D5% %D6% %D7% %D8% %D9% %D10% %D11% %D12% go %RAMDRIVE%\ CALL HZ.BAT :TC [ Last edited by 0451lym on 2007-4-12 at 10:19 AM ] |
|
| 第9楼 0451lym | 发表于 2007-04-12 10:21 |
| 高级用户 发帖 357 积分 760 | |
|
2个上随便弄的,不是对应的,CO精简了,AU没整理!
|
|
| 第10楼 GOTOmsdos | 发表于 2007-04-12 10:22 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
DOS基础没打好吧?
在CONFIG.SYS和AUTOEXEC.BAT中,不写路径不就行了? 启动到什么盘符,DOS就会到这个盘符下找的,不用你费心的,这两个文件中的语句中的程序名前也不用加的(但一定要放在根目录) |
|
| 第11楼 0451lym | 发表于 2007-04-12 10:27 |
| 高级用户 发帖 357 积分 760 | |
Originally posted by GOTOmsdos at 2007-4-12 10:22: 呵呵,我的驱动什么的都放在A:\SYS里边了,所以需要读出A:来,不知道楼主是不是也是这个问题! cd>>YD.INI TYPE YD.INI|FIND /I "A:">NUL if errorlevel 1 SET YD=C: if NOT errorlevel 1 SET YD=A: 理论是可行的,没测试! [ Last edited by 0451lym on 2007-4-12 at 10:33 AM ] |
|
| 第12楼 lianjiang2004 | 发表于 2007-04-12 10:47 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
用相对路径就行了,不需盘符。
|
|
| 第13楼 GOTOmsdos | 发表于 2007-04-12 11:02 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
简单一句话:
不写盘符,就行了,你是A:\SYS\....,还是 C:\SYS\.... 只要写SYS\.....就行了 |
|
| 第14楼 0451lym | 发表于 2007-04-12 11:37 |
| 高级用户 发帖 357 积分 760 | |
|
呵呵,我识别盘符是为了,随时后加驱动指定路径用的!
其实没什么大不了的,感觉驱动放到引导盘,程序放到内存盘好一些,反正也删不掉引导盘!(个人爱好) 其实不写盘符是最简单的办法了! |
|
| 第15楼 he1yi | 发表于 2007-04-14 06:09 |
| 新手上路 发帖 3 积分 8 | |
|
非常感谢大家,我想应该可以试试吧
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |