中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [部分已结]有否类似 findcd 的 U盘盘符识别程序 findusb ?
« [1] [2] »
作者:
标题: [部分已结]有否类似 findcd 的 U盘盘符识别程序 findusb ? 上一主题 | 下一主题
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『楼 主』:  [部分已结]有否类似 findcd 的 U盘盘符识别程序 findusb ?

有否类似 findcd 的 U盘盘符识别程序 findusb  ?

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

[ Last edited by hxj on 2006-4-15 at 04:49 ]

2006-4-4 15:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 2 楼』:  


@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 磁盘"则可以返回当前的光驱盘符。
其他事项见我的签名。

2006-4-4 17:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

楼上的,顺便请教一下,如何用wmic在另一台机器上执行一条命令?



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-4-4 22:24
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 4 楼』:  

wmic /node:对方IP /user:username /password:yourpassword
在SP2环境中测试能连接上,但是似乎权限不够,亦或是对方未开启RPC。也许是用的空密码登陆的缘故吧,没条件,也懒得测试找原因了。

2006-4-4 23:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 5 楼』:  

感谢3742668:
你写的批处理能达到目的!
你干脆把它编成一个应用程序findusb.exe ,应当还是很有实用价值的!

2006-4-5 01:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 6 楼』:  

再向3742668求教:

我把“FreeSpace”省去,只显示了U盘的盘符 “DeviceID”,但怎样才能把 显示的 “DeviceID”转变成批处理中能用的环境变量?

2006-4-5 04:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 7 楼』:  

用for包起来吧。。
for /f %%i in ('"wmic logicaldisk where DriveType="2" get DeviceID |find /v "DeviceID""') do set mydrv=%%i
看看中不中,未经测试。

2006-4-5 10:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




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



  Quote:
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菜鸟,这样的语句是瞎凑的,我自己也搞不懂!

2006-4-5 10:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  

那这句呢?
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等等测试了看看。
你的那个批处理可以把主批处理也贴上来,顺便说明一下环境包括目录。

2006-4-5 10:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 10 楼』:  

: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\

你的比较简洁,我继续试!

2006-4-5 11:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 11 楼』:  

好了!用你第一个批处理,PATH中加入%SystemRoot%\system32\;%SystemRoot%\system32\wbem就成功了!

非常感谢你这位高手的指教,受益匪浅!!

2006-4-5 11:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxj
中级用户




积分 377
发帖 66
注册 2005-4-4
状态 离线
『第 12 楼』:  

此问题本来已解决,但现在碰到需要DOS7.1下识别U盘盘符问题,看来3742668的方法只能手在Windows下,在纯DOS下有否办法 ?

[ Last edited by hxj on 2006-4-15 at 04:48 ]

2006-4-15 04:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
buddiyar
初级用户





积分 160
发帖 75
注册 2006-6-28
状态 离线
『第 13 楼』:  

wmic logicaldisk where Description="可移动磁盘" get DeviceID,FreeSpace | find /v "DeviceID"

这个wmic是内部命令么
怎么以前都没听说过啊
而且在我的机子上用wmic /? 也搜不到相关帮助信息哦

2006-7-21 21:33
查看资料  发送邮件  发短消息 网志  OICQ (243589543)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 14 楼』:  

Re buddiyar:

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

[1] WMI 命令行
http://www.cn-dos.net/forum/viewthread.php?tid=19738#pid115977



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-7-21 21:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 15 楼』:  

“可移动磁盘”的字符判断没有考虑到USB-HDD(本地硬盘)的情况。

   此帖被 +1 点积分    点击查看详情   
评分人:【 tireless 分数: +1  时间:2008-11-16 20:09




DOS之家 http://doshome.com 站长 葛明阳
2006-9-11 21:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: