[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 要怎么获取U盘的盘符?

本帖最后由 pcl_test 于 2017-4-1 16:49 编辑

要求是这样

不可用fsutil,因为win 2000没有
vbs可,但尽量避免
wmic也不可,因为win 2000没有
不能用中文字串判断是否为U盘,因为有可能会用到E文系统

目前由抓取注册表和SED来提取过滤光盘
但U盘没有比较好的方式

这边附上自己做的抓光盘並去除的批处,作的不好献丑了
  1. IF EXIST %SYSTEM%\MOUNTVOL.EXE %SYSTEM%\MOUNTVOL.EXE|SED -r "/^ +(.):\\$/!d;s//\1/" >.\TEMP\TEMP00
  2. IF NOT EXIST .\TEMP\TEMP00 FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO ECHO %%A>>.\TEMP\TEMP00
  3. SWREG EXPORT "HKLM\SYSTEM\MOUNTEDDEVICES" ".\TEMP\TEMP01" /NT4 >NUL 2>&1
  4. SED "s/hex/hex\(1\)/Ig;s/SYSTEM/software\\efix/I" .\TEMP\TEMP01>.\TEMP\TEMP02
  5. GREP -iq "EFix" .\TEMP\TEMP02 && SWREG IMPORT .\TEMP\TEMP02 >NUL 2>&1
  6. SWREG QUERY "HKLM\SOFTWARE\EFIX\MOUNTEDDEVICES"|SED -r "/^   \\DosDevices\\(.):\t.*cdrom.*$/I!d;s//\1/">.\TEMP\TEMP03
  7. IF EXIST .\DAT\CDROM.DAT DEL .\DAT\CDROM.DAT >NUL 2>&1
  8. GREP -Fvif .\TEMP\TEMP03 .\TEMP\TEMP00 >.\DAT\CDROM.DAT
  9. DEL .\TEMP\TEMP0? /Q >NUL 2>&1
复制代码
[ 本帖最后由 sylovanas 于 2008-12-1 21:34 编辑 ]

回复 3楼 的帖子

fsutil不行,原因已经有提过了
win2000是主要问题所在

第三方工具是能避尽量避
不然用Fi就可以了。

TOP

代码可用,使用起来也很完美
非常感谢

TOP

返回列表