标题: 如何用命令让手动弹出后的可移动驱动器再次加载
[打印本页]
作者: 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