| 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『楼 主』:
 如何用命令让手动弹出后的可移动驱动器再次加载
 
使用 LLM 解释/回答一下
  
如何用命令让手动弹出后的可移动驱动器再次加载 
即是让可移动驱动器再下出现.. 
 
原文 
@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 ] 
 
    
 
  
 |   
 | 
  2008-1-13 20:21 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
引: 
 
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”  
 
 
问题是弹出后再让它检测回来 
不要"立即识别"的 
 
    
 
  
 |   
 | 
  2008-1-13 20:26 | 
  
 | 
 | 
 
fastslz 
铂金会员
 
        DOS一根葱
  
 
积分 5493 
发帖 2315 
注册 2006-5-1 来自 上海 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
@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
  
 
    
 
  
  |  
                  
  
                    第一高手    第二高手 
我的小站 
  |   
 | 
  2008-1-13 20:35 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
这里其中用到了"devcon" 
希望能有象在"设备管理"中手动"停用"USB,然后手动再"启用"的,做成批处理 
也可以是通过注册表==之类的 
 
我找过``没找著这样的文章..:lol: 
 
    
 
  
 |   
 | 
  2008-1-13 20:55 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 5 楼』:
 3楼的--谢谢你解答
 
使用 LLM 解释/回答一下
  
好象不行?? 
没反应?? 
也没弹出呀.. 
 
 Last edited by uouobb on 2008-1-13 at 08:59 PM ] 
 
    
 
  
 |   
 | 
  2008-1-13 20:57 | 
  
 | 
 | 
 
fastslz 
铂金会员
 
        DOS一根葱
  
 
积分 5493 
发帖 2315 
注册 2006-5-1 来自 上海 
状态 离线
 | 
 | 
  2008-1-13 21:05 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 7 楼』:
 6楼...我没看那些"冗长"的处理哦!
 
使用 LLM 解释/回答一下
  
你弄那段检测到已有"可移动驱动器" 
只需运行就可以再显示的   贴上来好吗?? 
 
    
 
  
 |   
 | 
  2008-1-13 21:11 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
for /f "tokens=1,2 delims=\" %%i in ('devcon find usb\*^|find /i "USB\VID"') do devcon.exe enable "%%i\%%j" >nul 2>nul 
 
没能出来.. 
不用启用到哦 
 
    
 
  
 |   
 | 
  2008-1-13 21:13 | 
  
 | 
 | 
 
fastslz 
铂金会员
 
        DOS一根葱
  
 
积分 5493 
发帖 2315 
注册 2006-5-1 来自 上海 
状态 离线
 | 
『第 9 楼』:
 
 
使用 LLM 解释/回答一下
  
我给代码当然能禁用能启用,你自己想怎么用就怎么改 
如果运行前检测是否存在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 磁盘设备未发现 
 
    
 
  
  |  
                  
  
                    第一高手    第二高手 
我的小站 
  |   
 | 
  2008-1-13 21:32 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 10 楼』:
 
 
使用 LLM 解释/回答一下
  
噢,我的天哪 
还是不会用你给的代码哦 
不知道怎么的运行了没点动作...我的批处理不好@@ 
 
这个 
@echo off 
for /f %%i in ('devcon findall usb* ^|find /i "usb mass storage"') do  devcon remove "@%%i" 
devcon rescan 
pause 
易懂 
 
但不能"remove"后 
在没拔出断开USB线时,过一段时间后再单独用"rescan"加载就显示回"可移动驱动器"来 
 
看来还是找一些简单的类似"设备管理器"里手动"停用""启用"的,是是批处理的 
 
 
 
    
 
  
 |   
 | 
  2008-1-13 22:04 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 11 楼』:
 fastslz~~
 
使用 LLM 解释/回答一下
  
哦NO  
 
fastslz 
 
是不停用哪个"人体学输入设备"的 
而是"磁盘驱动器" 里的 
 
但我还是不会用decvon /?   的命令(用法) 
 
    
 
  
 |   
 | 
  2008-1-13 22:07 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
 | 
  2008-1-13 22:12 | 
  
 | 
 | 
 
fastslz 
铂金会员
 
        DOS一根葱
  
 
积分 5493 
发帖 2315 
注册 2006-5-1 来自 上海 
状态 离线
 | 
『第 13 楼』:
 
 
使用 LLM 解释/回答一下
  
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内容贴上来 
 
    
 
  
  |  
                  
  
                    第一高手    第二高手 
我的小站 
  |   
 | 
  2008-1-13 22:18 | 
  
 | 
 | 
 
uouobb 
初级用户
 
  
 
  
  
积分 82 
发帖 37 
注册 2007-12-15 
状态 离线
 | 
『第 14 楼』:
 
 
使用 LLM 解释/回答一下
  
最后是--- 
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 
 
    
 
  
 |   
 | 
  2008-1-13 23:23 | 
  
 | 
 | 
 
fastslz 
铂金会员
 
        DOS一根葱
  
 
积分 5493 
发帖 2315 
注册 2006-5-1 来自 上海 
状态 离线
 | 
『第 15 楼』:
 
 
使用 LLM 解释/回答一下
  
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
  
 
    
 
  
  |  
                  
  
                    第一高手    第二高手 
我的小站 
  |   
 | 
  2008-1-13 23:35 | 
  
 |