中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (已解决)怎样在DOS批处理文件里取得U盘的盘符?
作者:
标题: (已解决)怎样在DOS批处理文件里取得U盘的盘符? 上一主题 | 下一主题
chenqiguang
初级用户





积分 22
发帖 10
注册 2006-9-8
状态 离线
『楼 主』:  (已解决)怎样在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 ]

2006-12-26 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 2 楼』:  

讨论过N次了,用论坛搜索功能。。。
http://www.cn-dos.net/forum/search.php

2006-12-27 02:50
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
win2ye
初级用户





积分 58
发帖 22
注册 2005-12-15
状态 离线
『第 3 楼』:  



  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:”。

2006-12-27 04:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  

如果真是如此变化,最简单的办法:
硬盘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 ]

2006-12-27 05:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 5 楼』:  

(只判断当前盘是不是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 ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-27 07:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: