日期:2014-05-17 浏览次数:21225 次
@echo off setlocal enabledelayedexpansion rem 假设1000个文件夹、autorun.inf和chang_bo.doc都位于C:\test\ set SrcFolder=C:\test rem 假设1000个文件都叫做chang_bo.txt set FileName=chang_bo.txt rem U盘个数计数器 set CountU=0 :Begin for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do ( rem 兼容中英文版操作系统 for /f %%h in ('fsutil fsinfo drivetype %%a:^|findstr "Removable.* 可移动"') do ( if not exist "%%h\%FileName%" ( set /a CountU+=1 echo 正在处理第!CountU!个U盘 copy "%SrcFolder%\!CountU!\%FileName%" "%%h\" copy "%SrcFolder%\autorun.inf" "%%h\" copy "%SrcFolder%\chang_bo.doc" "%%h\" ) else ( echo U盘%%h已经处理过了 ) ) ) echo 这一批U盘搞定了,换下一批吧。换好新U盘后,按回车键继续。要退出本程序,就点关闭按钮。 pause>nul cls goto :Begin
------解决方案--------------------
只有写个程序了。
------解决方案--------------------
太牛了
------解决方案--------------------
这个需求确实太牛了。
做一个Win32程序,响应WM_DEVICECHANGE消息,当优盘插入,系统为其安装驱动并分配盘符完毕, 程序中判断Msg.WParam == DBT_DEVICEARRIVAL,如果就绪,通过SetupAPI或DeviceIOControl自动读取优盘的序列号(可以根据这个序列号生成一个独立的Key文件,如果Key文件已有,就不必了),然后将硬盘上已存在的某Key文件复制到优盘上,将这个Key文件与对应的序列号都保存到某日志文件中,写盘完毕后,还是用SetupAPI自动删除USB设备,所有USB盘符都处理完毕后,通知用户换盘,再次插入新U盘后,自动重复这一步骤。
这个程序的原理简单,实现起来稍复杂一些,C++/Delphi/VB等等都可以做,到于批处理我就不清楚能不能做到了。
------解决方案--------------------
这种问题先看看007的再说。。。
------解决方案--------------------