中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用批处理做到安全删除硬件?
作者:
标题: 如何用批处理做到安全删除硬件? 上一主题 | 下一主题
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『楼 主』:  如何用批处理做到安全删除硬件?

近日太多人打印简历了,朋友的机不停地插入U盘、MP3,又不停地从任务栏点击“安全删除硬件”……
想把批处理文件快捷方式放到快速启动栏单击就行,请问能否用批处理做到这事情?代码如何?
谢谢:>

2005-12-1 16:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


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

Re 220110:

      批处理的方案暂时没有想到,只是我的印象中,XP下直接插拔 U 盘等设备是不提示报警的,可能需要某些设置,未知。另外,如果确实需要安全删除,可以左键点击硬件图标,这样只需两次鼠标点击即可删除指定设备。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-12-1 16:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 3 楼』:  

Re 220110 and willsort:

借助第三方工具 Unlocker 和 unplug 就可以实现批处理快速拔下U盘。

以下内容引用 http://blog.dream4ever.org/venchia/

  Quote:
方法2
在windows这样的图形化界面中无法解决的问题。我们就有必要试一试在黑暗命令行状态下加以解决了。先下载unplug.rar这个软件, 解压缩后运行cmd命令打开命令行提示符窗口,然后使用dir命令进入 unplug.exe文件所在的目录,此处以停止H盘(假设H盘为闪存所在盘)为例。输入unplug H:  命令即可。当然,更高效的方法是做一个批处理来搞定。 (在脚本中cd 命令后的参数"d:\unplug"修改为unplug.exe所在的目录,"h"修改为闪存所占的盘符),将下面的脚本保存成usb.bat,在需要的时候双击就可以了,如果指定热键盘,就能一键卸载了!
usb.bat如下

@echo off
cd d:\unplug
unplug h:

如果unplug也不能搞定的话,那就轮到unlocker出场了

方法3
现在配合unlocker的/s命令行,先对要卸的设备盘符解锁,再unplug,基本上一次就卸了。

附上一个脚本
@echo off

REM IBM UDISK的特征串  3  [G:] USB Mass Storage Device\IC25N020 ATMR04-0 USB Device
echo #|unplug|findstr " USB Mass Storage Device\IC25N020">%temp%\tmpout.txt
for /f "usebackq  delims=[] tokens=1,2,3" %%i in (%temp%\tmpout.txt) do (
"<路径>\Unlocker.exe" %%j /s
unplug %%i |findstr "OK."
if errorlevel 1 pause
)
该脚本里,如果还检测仍然卸不了的情况,若是出现,就运行pause提示一下,若是一闪而过,就可以拨设备了。

说明:
1, 替换成你的U盘的特征串,用unplug 来查看
2, 替换好unlocker的所在路径,建议把unlocker和unplug都放到搜索路径下。
3, 由于unplug不管unplug是否成功,都返回errrorlevel 为1 ,所以,改用findstr来判断是否unplug成功。

所用到的软件下载

unplug.rar
Unlocker.v1.66.GR.rar(1.66绿色版)
Unlocker.v1.7.3.rar



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-12-1 19:50
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 4 楼』:  

首先谢谢 两位朋友!特别是小JONG,还把链接地址并上来了!谢谢!

我曾经尝试利用进程来结束掉相关进程,但并没发现有相关进程,只是选择“安全删除硬件”后才出现一个"rundll32.exe"。没用。

2005-12-1 22:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 5 楼』:  

我试了下小JONG 提供的第二方案,的确是一闪而过无提示,但通过硬件管理查看该硬件还是在启用的,所以还是不敢随便移除,毕竟是客户的东西,损坏了不好……
我们大家再努力!

2005-12-1 22:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 6 楼』:  

试试 MS 自己家的东西 DevCon。
DevCon 命令行实用工具可替代设备管理器
概要
DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。
链接:http://support.microsoft.com/kb/311272/zh-cn



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2005-12-2 23:07
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 7 楼』:  

DEVCON,好强的一个命令,看到很多很多东西。

玩弄中....

2005-12-3 20:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 8 楼』:  

对我来说还是比较高深,还是要多多学习!
  
     右键U盘,“弹出”也行。

2005-12-7 11:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by htysm at 2005-12-7 11:13:
  右键U盘,“弹出”也行。

这样也好,还是麻烦了。
如果我做一个快捷方式,再指定一个功能键;那么只要按一下键就可以了。
唉,水平有限,那DEVCON 命令还是搞不来,请大家再帮忙下。谢谢

2005-12-7 17:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 10 楼』:  

在“设备管理器”中展开“磁盘驱动器”选项,右击U盘,打开“属性”对话框选择“策略”标签,选择“为快速删除而优化”。



简单就是美
2005-12-7 20:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: