Board logo

标题: 如何用命令让手动弹出后的可移动驱动器再次加载 [打印本页]

作者: uouobb     时间: 2008-1-13 20:21    标题: 如何用命令让手动弹出后的可移动驱动器再次加载

如何用命令让手动弹出后的可移动驱动器再次加载
即是让可移动驱动器再下出现..

原文
@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 ]
作者: uouobb     时间: 2008-1-13 20:26
引:

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”


问题是弹出后再让它检测回来
不要"立即识别"的

作者: fastslz     时间: 2008-1-13 20:35

@echo off
color 0e&cls&echo.&echo 正在暂停你的 USB 磁盘设备...
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do devcon.exe disable "%%i\%%j" >nul 2>nul
color 0a&cls&echo.&echo  任意键启用你的 USB 磁盘设备...&pause>nul
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do devcon.exe enable "%%i\%%j" >nul 2>nul
pause

作者: uouobb     时间: 2008-1-13 20:55
这里其中用到了"devcon"
希望能有象在"设备管理"中手动"停用"USB,然后手动再"启用"的,做成批处理
也可以是通过注册表==之类的

我找过``没找著这样的文章..:lol:

作者: uouobb     时间: 2008-1-13 20:57    标题: 3楼的--谢谢你解答

好象不行??
没反应??
也没弹出呀..

[ Last edited by uouobb on 2008-1-13 at 08:59 PM ]
作者: fastslz     时间: 2008-1-13 21:05
上面一部分是禁用
下面一部分是启用
如果你连续执行当然看不到效果
http://www.cn-dos.net/forum/viewthread.php?tid=34906&fpage=1
http://www.cn-dos.net/forum/viewthread.php?tid=35139&fpage=1
作者: uouobb     时间: 2008-1-13 21:11    标题: 6楼...我没看那些"冗长"的处理哦!

你弄那段检测到已有"可移动驱动器"
只需运行就可以再显示的   贴上来好吗??

作者: uouobb     时间: 2008-1-13 21:13
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do devcon.exe enable "%%i\%%j" >nul 2>nul

没能出来..
不用启用到哦
作者: fastslz     时间: 2008-1-13 21:32
我给代码当然能禁用能启用,你自己想怎么用就怎么改
如果运行前检测是否存在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 磁盘设备未发现
作者: uouobb     时间: 2008-1-13 22:04
噢,我的天哪
还是不会用你给的代码哦
不知道怎么的运行了没点动作...我的批处理不好@@

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

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

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


作者: uouobb     时间: 2008-1-13 22:07    标题: fastslz~~

哦NO

fastslz

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

但我还是不会用decvon /?   的命令(用法)

作者: uouobb     时间: 2008-1-13 22:12
谢谢了``大概我能解决了

类似的停用方法..

只是find 不同
作者: fastslz     时间: 2008-1-13 22:18
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内容贴上来
作者: uouobb     时间: 2008-1-13 23:23
最后是---
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
作者: fastslz     时间: 2008-1-13 23:35
devcon enable "@USBSTOR\DISK&VEN_SUNPLUS&PROD_MULTIMEDIA-DISK&REV_1.00\01.00.00&0:"
这个肯定不行的

你暂时用这个吧,只是部分mp3和数码相机的可移动磁盘不管用,设备的Hardware ID范围太大了找不出规律不好筛选
@echo off
devcon.exe>nul 2>nul
if %errorlevel%==9009 (CLS&&echo.&&COLOR 0E&&echo 本脚本需要微软 DevCon.exe 命令行实用工具支持&&ping/n 5 127.1>nul&&exit/b)

for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "Mass Storage"') do set "USBHDID=%%i\%%j"
if "%USBHDID%"=="" color 0b&cls&echo.&echo  USB 磁盘设备未发现!&ping/n 5 127.0.1>nul&exit
color 0e&cls&echo.&echo  正在禁用你的 USB 磁盘设备...
devcon.exe disable "%USBHDID%" >nul 2>nul
color 0b&cls&echo.&echo  USB 磁盘设备已禁用!&ping/n 3 127.0.1>nul
color 0a&cls&echo.&echo  任意键启用你的 USB 磁盘设备...&pause>nul
devcon.exe enable "%USBHDID%" >nul 2>nul
color 0e&cls&echo.&echo  全部OK!待退出...&ping/n 4 127.0.1>nul

作者: uouobb     时间: 2008-1-13 23:53
好感动哦

谢谢你一直在帮助我耶

呵呵

再试试先
作者: uouobb     时间: 2008-1-14 00:00
还是不行哦~

这个只停用\启用"USB 人体学输入设备"的

我的电脑插MP3、硬盘是在“磁盘驱动器”
所以要停用那的

好象也停用不了..No devices enabled