中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 06:16
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何用命令让手动弹出后的可移动驱动器再次加载
可打印版本  1,823 / 16
第1楼 uouobb 发表于 2008-01-13 20:21
初级用户 发帖 37 积分 82
如何用命令让手动弹出后的可移动驱动器再次加载
如何用命令让手动弹出后的可移动驱动器再次加载
即是让可移动驱动器再下出现..

原文
@echo off
for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do devcon remove "@%%i"
devcon rescan
pause

怎样分成两部单独运行??

当我手动弹出后,
(或命令: for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do devcon remove "@%%i" )
在需要时,只要"rescan"就可让原先弹出的移动驱动器再加载回来---能显示到盘符了
(不想还要拔USB线再插过)
该如何写??


[ Last edited by uouobb on 2008-1-13 at 08:22 PM ]
第2楼 uouobb 发表于 2008-01-13 20:26
初级用户 发帖 37 积分 82
引:

Quote:
Originally posted by ccwan at 2006-12-14 08:36:
是立即识别!!!


昨晚我试了好几次,正确方法:
执行“for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do devcon remove "@%%i"”删除U盘后拔下U盘,再执行“devcon rescan”扫描新硬件,如果一起执行,U盘根本来不及拔下就扫描出来了;当然也可以不用执行“devcon rescan”


问题是弹出后再让它检测回来
不要"立即识别"的
第3楼 fastslz 发表于 2008-01-13 20:35
铂金会员 发帖 2,315 积分 5,493 来自 上海
第4楼 uouobb 发表于 2008-01-13 20:55
初级用户 发帖 37 积分 82
这里其中用到了"devcon"
希望能有象在"设备管理"中手动"停用"USB,然后手动再"启用"的,做成批处理
也可以是通过注册表==之类的

我找过``没找著这样的文章..:lol:
第5楼 uouobb 发表于 2008-01-13 20:57
初级用户 发帖 37 积分 82
3楼的--谢谢你解答
好象不行??
没反应??
也没弹出呀..

[ Last edited by uouobb on 2008-1-13 at 08:59 PM ]
第6楼 fastslz 发表于 2008-01-13 21:05
铂金会员 发帖 2,315 积分 5,493 来自 上海
上面一部分是禁用
下面一部分是启用
如果你连续执行当然看不到效果
http://www.cn-dos.net/forum/viewthread.php?tid=34906&fpage=1
http://www.cn-dos.net/forum/viewthread.php?tid=35139&fpage=1
第7楼 uouobb 发表于 2008-01-13 21:11
初级用户 发帖 37 积分 82
6楼...我没看那些"冗长"的处理哦!
你弄那段检测到已有"可移动驱动器"
只需运行就可以再显示的 贴上来好吗??
第8楼 uouobb 发表于 2008-01-13 21:13
初级用户 发帖 37 积分 82
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do devcon.exe enable "%%i\%%j" >nul 2>nul

没能出来..
不用启用到哦
第9楼 fastslz 发表于 2008-01-13 21:32
铂金会员 发帖 2,315 积分 5,493 来自 上海
我给代码当然能禁用能启用,你自己想怎么用就怎么改
如果运行前检测是否存在USB磁盘见代码
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do set USB=%%i\%%j
if not defined USB echo USB 磁盘设备未发现
第10楼 uouobb 发表于 2008-01-13 22:04
初级用户 发帖 37 积分 82
噢,我的天哪
还是不会用你给的代码哦
不知道怎么的运行了没点动作...我的批处理不好@@

这个
@echo off
for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do devcon remove "@%%i"
devcon rescan
pause
易懂

但不能"remove"后
在没拔出断开USB线时,过一段时间后再单独用"rescan"加载就显示回"可移动驱动器"来

看来还是找一些简单的类似"设备管理器"里手动"停用""启用"的,是是批处理的

第11楼 uouobb 发表于 2008-01-13 22:07
初级用户 发帖 37 积分 82
fastslz~~
哦NO

fastslz

是不停用哪个"人体学输入设备"的
而是"磁盘驱动器" 里的

但我还是不会用decvon /? 的命令(用法)
第12楼 uouobb 发表于 2008-01-13 22:12
初级用户 发帖 37 积分 82
谢谢了``大概我能解决了

类似的停用方法..

只是find 不同
第13楼 fastslz 发表于 2008-01-13 22:18
铂金会员 发帖 2,315 积分 5,493 来自 上海
devcon.exe disable 不就是"设备管理器"里手动"停用"
devcon.exe enable 不就是"设备管理器"里手动"启用"
不是所有是可移动磁盘都是这个名字usb mass storage所以我用find /i "USB\VID"
@echo off
for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do devcon remove "@%%i"
这个是不完整的for语句 remove移除设备
如果代码不好用devcon find usb\*>id.txt再把id.txt内容贴上来
第14楼 uouobb 发表于 2008-01-13 23:23
初级用户 发帖 37 积分 82
最后是---
C:\Documents and Settings\Administrator>devcon enable "@USBSTOR\DISK&VEN_SUNPLUS
&PROD_MULTIMEDIA-DISK&REV_1.00\01.00.00&0:"
No devices enabled.

没有可用的devices
第15楼 fastslz 发表于 2008-01-13 23:35
铂金会员 发帖 2,315 积分 5,493 来自 上海
devcon enable "@USBSTOR\DISK&VEN_SUNPLUS&PROD_MULTIMEDIA-DISK&REV_1.00\01.00.00&0:"
这个肯定不行的

你暂时用这个吧,只是部分mp3和数码相机的可移动磁盘不管用,设备的Hardware ID范围太大了找不出规律不好筛选
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023