Board logo

标题: 请教:如何确定U盘的盘符? [打印本页]

作者: evanevanus     时间: 2006-10-25 14:48    标题: 请教:如何确定U盘的盘符?

请教各位高人:我制作好了U盘dos启动盘,希望在批处理文件autoexec.bat中自动运行U盘中某个子目录中的程序。但因用U盘启动,在不同机器上被赋予的盘符不同,有时是A,有时是C,这就使我在批文件中无法定位U盘中的程序所在盘符和路径。哪位知道如何让其自动识别盘符,使我能够在批文件中使用一个变量就可以代替U盘的盘符(无论此U盘被机器识别为A,C或其他)?先谢谢各位了!!!
作者: 不得不爱     时间: 2006-10-25 20:54
发错地方了!这里是{DOS启动盘 & LOGO技术 (启动盘室) }应该发到{DOS疑难解答 & 问题讨论 (解答室) },这里我帮你转下
作者: evanevanus     时间: 2006-10-26 00:36


  Quote:
Originally posted by qwe1234567 at 2006-10-25 08:54 PM:
发错地方了!这里是{DOS启动盘 & LOGO技术 (启动盘室) }应该发到{DOS疑难解答 & 问题讨论 (解答室) },这里我帮你转下

谢谢!
作者: lxmxn     时间: 2006-10-26 01:23

  试试在autoexec.bat里面用这一句来运行你的程序:
   
  start "" "%cd:~0,2%\[程序的在mp3里的路径]\[程序的名字]


[ Last edited by lxmxn on 2006-10-26 at 01:25 AM ]
作者: evanevanus     时间: 2006-10-26 04:45


  Quote:
Originally posted by lxmxn at 2006-10-26 01:23 AM:

  试试在autoexec.bat里面用这一句来运行你的程序:
   
  start "" "%cd:~0,2%\[程序的在mp3里的路径]\[程序的名字][/color ...

谢谢您!但能否解释一下这段代码的意思?
另:dos7的内部命令中有start命令吗?
作者: redtek     时间: 2006-10-26 05:17
纯DOS下获得当前所在盘符(如C或A)(但不含有“:”这个符号,为调用组合方便)


测试版本:  MS-DOS  6.22



AUTOEXEC.BAT  的部分内容:
echo exit|%comspec% /k prompt set mydisk=$n$_|find "mydisk=">$tmp.bat
call $tmp.bat
del $tmp.bat
echo  MY U_DISK IS:    %MYDISK%:
在纯DOS下获得当前这个批处理正在执行的所在盘符。
它用到了DOS外部命令  FIND.EXE,使用时请注意在上面命令之前设置好相关“相对”路径或放在调用时找得到的地方。

其实用不着上面特殊获得当前盘符的方法。
如果批处理在当前盘符下执行,那么只要   \GHOST\ghost.exe  等“相对路径”调用方式就行了,无需非要加上什么 A:\GHOST\GHOST.EXE,
即:在当前盘符执行批处理想要调用当前盘的某个目录,直接 \目录名\执行文件名.exe 等就行了, 这个“\” 就代表当前盘的根目录。
作者: evanevanus     时间: 2006-10-27 01:08
非常感谢!