标题: (已解决)怎样在DOS批处理文件里取得U盘的盘符?
[打印本页]
作者: chenqiguang
时间: 2006-12-26 23:55
标题: (已解决)怎样在DOS批处理文件里取得U盘的盘符?
U盘制作的DOS启动盘启动到MS-DOS7.1后,在有些机器上的盘符为“A:” ,而在另一些机器上的盘符又为“C:”。
U盘中的批处理文件 autoexec.bat 当U盘的盘符为“A:”时,需要执行程序A;当U盘的盘符为“C:”时,需要执行程序C。
请问怎样在DOS批处理文件 autoexec.bat 里取得U盘的盘符来实现?
先谢谢啦!
用网友介绍的方法搞定。
可以在你的U盘根目录放一个特征文件,用于判断。
假如文件为myudisk.000
if not exit a:\myudisk.000 goto c
a
goro exit
:c
c
:exit
再次谢谢热心网友的解答!
[
Last edited by chenqiguang on 2006-12-27 at 10:39 PM ]
作者: gene771771
时间: 2006-12-27 02:50
讨论过N次了,用论坛搜索功能。。。
http://www.cn-dos.net/forum/search.php
作者: win2ye
时间: 2006-12-27 04:44
Quote: |
Originally posted by chenqiguang at 2006-12-26 23:55:
U盘制作的DOS启动盘启动到MS-DOS7.1后,在有些机器上的盘符为“A:” ,而在另一些机器上的盘符又为“C:”。
U盘中的批处理文件 autoexec.bat 当U盘的盘符 ... |
|
以USB-ZIP方式启动U盘,则盘符为“A:”
以USB-HDD方式启动U盘,则盘符为“C:”。
作者: zh159
时间: 2006-12-27 05:13
如果真是如此变化,最简单的办法:
硬盘C:盘不要有相同文件名
if exist a:\*1.* a:\*1.*
if exist c:\*2.* c:\*2.*
[
Last edited by zh159 on 2006-12-26 at 04:14 PM ]
作者: redtek
时间: 2006-12-27 07:05
(只判断当前盘是不是A盘)
( 如果是A盘,就进入 :DISK-A 执行相应代码)
( 如果非A盘,就进入 :DISK-N 执行相应代码)
(环境: MS-DOS 6.22 英文版)
@ECHO OFF
vol|find "drive A" >nul
if errorlevel 1 goto :DISK-N
if errorlevel 0 goto :DISK-A
:DISK-N
:: 反正判断当前盘不是A盘,做什么都行:)
:: 在里面执行不是A盘时所要执行的代码
Goto :End
:DISK-A
:: 当前盘是A盘,写相关代码
:: 设置变量 U 为 A ,表示当前盘是A盘(这个设置盘符变量的用不着,除判断多个盘时将来可以用)
SET U=A
ECHO DISK %U%
Goto :End
:: 其它代码段 ……
:End
其它需要的内容,往架子里添就行了~:)
[
Last edited by redtek on 2006-12-26 at 06:08 PM ]