中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [部分已结]有否类似 findcd 的 U盘盘符识别程序 findusb ?
楼 主 [部分已结]有否类似 findcd 的 U盘盘符识别程序 findusb ? 发表于 2006-04-04 15:57 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
有否类似 findcd 的 U盘盘符识别程序 findusb ?

为了在批处理中能搜索 U盘盘符,有否像 光盘盘符识别程序 findcd.exe这样的U盘盘符识别程序 findusb.exe ?
如没有现成的程序,那位高手能编写具有这一功能的批处理也行 !

[ Last edited by hxj on 2006-4-15 at 04:49 ]
2 发表于 2006-04-04 17:30 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线

@echo off
echo 盘符 可用空间
wmic logicaldisk where Description="可移动磁盘" get DeviceID,FreeSpace | find /v "DeviceID"
wmic logicaldisk where DriveType="2" get DeviceID,FreeSpace | find /v "DeviceID"
pause>nul

看看是不是类似的效果?如果把"可移动磁盘"改为"CD-ROM 磁盘"则可以返回当前的光驱盘符。
其他事项见我的签名。
3 发表于 2006-04-04 22:24 ·  中国 河北 保定 移动
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
楼上的,顺便请教一下,如何用wmic在另一台机器上执行一条命令?
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
4 发表于 2006-04-04 23:22 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
wmic /node:对方IP /user:username /password:yourpassword
在SP2环境中测试能连接上,但是似乎权限不够,亦或是对方未开启RPC。也许是用的空密码登陆的缘故吧,没条件,也懒得测试找原因了。
5 发表于 2006-04-05 01:50 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
感谢3742668:
你写的批处理能达到目的!
你干脆把它编成一个应用程序findusb.exe ,应当还是很有实用价值的!
6 发表于 2006-04-05 04:11 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
再向3742668求教:

我把“FreeSpace”省去,只显示了U盘的盘符 “DeviceID”,但怎样才能把 显示的 “DeviceID”转变成批处理中能用的环境变量?
7 发表于 2006-04-05 10:00 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
用for包起来吧。。

for /f %%i in ('"wmic logicaldisk where DriveType="2" get DeviceID |find /v "DeviceID""') do set mydrv=%%i

看看中不中,未经测试。
8 发表于 2006-04-05 10:37 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
Originally posted by 3742668 at 2006-4-5 10:00 AM:
用for包起来吧。。

for /f %%i in ('"wmic logicaldisk where DriveType="2" get DeviceID |find /v "DeviceID""') do set mydrv=%%i

看看中不中..


测试了,结果盘符不对,将我要解到U盘(I:)的文件解到当前盘(G:)去了。
之前,我自己胡编了一个到是能行,但总觉得不好,请你指教

usb.bat :

@echo off
path %SystemRoot%\system32\wbem;%SystemRoot%\system32\
wmic logicaldisk where Description="可移动磁盘" get DeviceID | find /v "DeviceID">a.txt
for /F "tokens=1" %%I in (a.txt) DO set USB=%%I
del a.txt
dosimg KV.img %USB%\ /s>nul
exit

但上面的批处理单独使用可以,用我的主批处理用call 调用就出错,不知为什么

最后用 start /wait /min usb.bat 到是成功了。我是DOS菜鸟,这样的语句是瞎凑的,我自己也搞不懂!
9 发表于 2006-04-05 10:49 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
UID 50550
状态 离线
那这句呢?

for /f %%i in ('"wmic logicaldisk where Description="可移动磁盘" get DeviceID |find /v "DeviceID""') do set mydrv=%%i

也许你的U盘的类型不是2吧,我的光盘类型为3,U盘类型为2,现在不在手边,所以无法测试。你可以把前面的那句的DriveType="2"分别改成1,2,3,4,5等等测试了看看。
你的那个批处理可以把主批处理也贴上来,顺便说明一下环境包括目录。
10 发表于 2006-04-05 11:00 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
:3制作江民DOS杀毒闪盘
REM 制作江民 DOS 杀毒闪盘
path %Programfiles%\winrar
start /wait /min winrar e -p88888888 KV.pak kv.iso dosimg.exe -o+
start /wait /min winrar e kv.iso ezboot\kv.img -o+
cls
echo.
echo.
echo.
echo.
echo Now laoding databank into U disk, please wait......
start /wait /min usb.bat
del/q a.txt
del/q kv.i*
del/q d*.exe
GOTO BACKTOMENU

WinXP系统,当前目录 g:\dosav\kv\

你的比较简洁,我继续试!
11 发表于 2006-04-05 11:19 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
好了!用你第一个批处理,PATH中加入%SystemRoot%\system32\;%SystemRoot%\system32\wbem就成功了!

非常感谢你这位高手的指教,受益匪浅!!
12 发表于 2006-04-15 04:47 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
UID 37817
性别 男
状态 离线
此问题本来已解决,但现在碰到需要DOS7.1下识别U盘盘符问题,看来3742668的方法只能手在Windows下,在纯DOS下有否办法 ?

[ Last edited by hxj on 2006-4-15 at 04:48 ]
13 发表于 2006-07-21 21:33 ·  中国 江苏 苏州 电信
初级用户
★★
积分 160
发帖 75
注册 2006-06-28 01:07
UID 57661
性别 男
状态 离线
wmic logicaldisk where Description="可移动磁盘" get DeviceID,FreeSpace | find /v "DeviceID"

这个wmic是内部命令么
怎么以前都没听说过啊
而且在我的机子上用wmic /? 也搜不到相关帮助信息哦
14 发表于 2006-07-21 21:56 ·  中国 山西 太原 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re buddiyar:

wmic 显然不是内部命令,但它是WinXP/03的缺省安装组件,首次运行wmic时,会提示进行安装以完成配置,以后可以在cmd或批处理中直接使用。请参考:

WMI 命令行
http://www.cn-dos.net/forum/viewthread.php?tid=19738#pid115977
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
15 发表于 2006-09-11 21:06 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
UID 228
性别 男
状态 离线
“可移动磁盘”的字符判断没有考虑到USB-HDD(本地硬盘)的情况。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
tireless +1 2008-11-16 20:09
DOS之家 http://doshome.com 站长 葛明阳
论坛跳转: