标题: [其他] 如何用批处理实现可启动U盘启动后判断是A盘还是C盘? [打印本页]
作者: semiuel 时间: 2008-8-3 12:52 标题: 如何用批处理实现可启动U盘启动后判断是A盘还是C盘?
我自己写了一个,不知道对不对,高手帮我看看.
@echo off
cd >disk.txt
\dos\find /i "C:\" disk.txt >nul
del disk.txt >nul
if errorlevel==1 \dos\menu.bat
\dos\tw /np /nm /nw >nul
cls
echo.
echo U盘被识别成C盘, 可能会出现不可预料的问题
echo 请选择其它方式启动电脑, 按任意键重新启动
pause>nul
\dos\restart
\DOS目录下有需要的FIND.EXE,TW.EXE和RESTART.COM,可以在启动的时候调用.
这个批处理我放在可启动U盘上用来判断U盘启动到DOS后是A:\还是C:\
如果不是C:\,那肯定就是A:\,运行\DOS\MENU.BAT
如果是C:\,调用TW.EXE开启中文界面提示信息,然后任意键重启.
另外说一下,这个批处理是autoexec.bat,放在U盘根目录下.
disk.txt文本的内容不外乎两种可能:
A:\
或者
C:\
作者: fastslz 时间: 2008-8-3 21:02
- @ECHO OFF
- SET BOOTDRV=A
- PATH=A:\;A:\DOS
- IF EXIST C:\DOS\FIND.EXE GOTO BOOTC
- TW /NP /NM /NW
- MENU.BAT
- GOTO END
-
- :BOOTC
- PATH=C:\;C:\DOS
- RESTART
-
- :END
复制代码
作者: semiuel 时间: 2008-8-4 10:25
楼上的方法是判断find.exe这个文件是在A:\DOS还是C:\DOS
如果是C:\DOS就说明U盘被识别成硬盘了.
这方法也不错.
谢谢楼上的了.
作者: semiuel 时间: 2008-8-4 10:40
我现在写成这样了.
@echo off
if exist a:\dos\menu.bat \dos\menu.bat
if exist c:\dos\menu.bat goto errorc
goto end
:errorc
\dos\tw.exe /np /nm /nw >nul
cls
echo.
echo U盘被识别成C盘, 可能会出现不可预料的问题
echo 请选择其它方式启动电脑, 按任意键重新启动
pause>nul
\dos\restart.com
:end
如果被识别成A盘(大多数情况应该是识别成A盘),运行\DOS\MENU.BAT,这里我不用CALL,是为了运行完MENU.BAT后不返回执行下面的语句.
如果被识别成C盘,就跳转到ERRORC然后任意键重新启动.
如果不小心被识别成其它盘符了(那是踩了狗屎了),直接跳到END,反正不能让它执行MENU.BAT
另外path=a:\;a:\dos这一句我放到MENU.BAT里了,所以在AUTOEXEC.BAT里就去掉了.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |