日期:2014-05-17 浏览次数:21343 次
@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的再说。。。
------解决方案--------------------