一、问题需求
现有文件:
1、1000个文件在1000个文件夹,每个文件60K,且文件名相同,文件夹的命名从1至1000;
2、还有另外两个文件,分别是一个autorun.inf和一个doc文件(一共不到300K)。
目的:
1、这1000个文件要分别写入1000个U盘根目录下;
2、另外两个文件完全相同,也要分别写到U盘根目录下。
结果:
上述1000个不同的文件和另外两个文件同时存在于每个U盘根目录下,一共3个文件即可。
要求:
1、通过软件工具实现,尽可能快速地完成这项工作;
2、操作过程中不易出错;
3、可在多台计算机上同时运行。
二、解决问题的批处理代码
[code=BatchFile]@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
[/code]