如何在多个目录中创build单个文件的多个文件?

您好,我正在尝试创build多个目录中的单个文件的多个副本?

例如,我有6个文件夹,每个文件夹名为lp.html,我怎样才能运行一个批处理,在每个目录中创build100个文件的副本。

我已经创build了多个副本的代码,但我必须一个接一个地完成,当我有超过100个文件夹要做的时候,它变得单调乏味。

所以我怎样才能把这个batch file做我正在做的事情。 [我正在运行Windows 7]

已添加信息:所有文件夹位于相同的父文件夹中,文件夹中的文件彼此不同

@echo off for /L %%i IN (1,1,100) do call :docopy %%i goto end :docopy set FN=00%1 set FN=%FN:~-3% copy source-file.html poll%FN%.html :end 

使用forfiles命令。 运行forfiles /? 求助。

如果您担心并行处理副本,则可以创build6个不同的脚本,每个目录一个脚本,然后使用start scriptname.bat从一个脚本运行所有脚本,这样不会等待返回值(如call

尝试这个。 这不美丽,导致这个* $#? 编辑已经失去了缩进,换行符等等

—修订脚本

 @echo off setlocal set ROOT_DIR=c:\temp\test for /f "tokens=*" %%D in ('dir /ad /b "%ROOT_DIR%"') do call :PROCESS_DIR "%ROOT_DIR%" "%%D" endlocal goto END :PROCESS_DIR set PD_ROOT=%1 set PD_ROOT=%PD_ROOT:"=% set PD_DIR=%2 set PD_DIR=%PD_DIR:"=% set PD_FIRST_FILE= set PD_SOURCE_FILE= REM *** REM *** GET THE NAME OF THE FIRST FILE IN THIS FOLDER. REM *** for /f "tokens=*" %%F in ('dir /on /b "%PD_ROOT%\%PD_DIR%"') do set PD_FIRST_FILE=%%F if "%PD_FIRST_FILE%" == "" ( echo WARNING : No files found in [%PD_DIR%] - skipping. goto END ) set PD_SOURCE_FILE=%PD_ROOT%\%PD_DIR%\%PD_FIRST_FILE% REM *** REM *** CREATE FILES. REM *** for /l %%I in (1,1,100) do call :CREATE_FILE_COPY "%PD_ROOT%\%PD_DIR%" "%PD_SOURCE_FILE%" 00%%I goto END :CREATE_FILE_COPY set CFP_DIR=%1 set CFP_DIR=%CFP_DIR:"=% set CFP_FILE=%2 set CFP_INDEX=%3 set CFP_FILE_NO_EXT= REM *** REM *** GET FILE NAME WITHOUT EXTENSION. REM *** for /f %%F in ("%CFP_FILE%") do set CFP_FILE_NO_EXT=%%~nF REM *** REM *** COPY THE FILE. REM *** copy /y %CFP_FILE% "%CFP_DIR%\%CFP_FILE_NO_EXT%.%CFP_INDEX:~-3% goto END :END