复制一个文件夹及其内容多次,然后重命名它们

问题描述:

我正在寻找一个简单的批处理脚本,用于从目标复制文件夹及其内容,并将其粘贴到另一个目标x次名。复制一个文件夹及其内容多次,然后重命名它们

示例:

给定文件夹C:\ Folder。我想将它复制到这个文件夹:C:\目的地7次diffenrent的名字,所以结局是这样的(内部C:\目的地):

副本1

COPY2

COPY3

Copy7

在此先感谢!

for /l %%A in (1,1,7) do @xcopy "C:\Folder" "C:\Destination\Copy%%A" /i 

所有选项和帮助,请参见for /?xcopy /?


要在命令行上运行此命令,请确保使用%A而不是%% A。

使用%变量从命令提示符执行。使用%%变量在批处理文件中执行for命令。变量区分大小写,并且必须用alpha值(例如%A,%B或%C)表示。

+0

良好的措施,我建议你的回答解释%% A和%A之间的差异。像我这样的人会抓住你的代码行,无法从命令行运行它。我知道这个问题的答案在你链接到的文档中,但为什么不自己完成答案? – Ickster 2013-05-07 01:48:07

+1

@Ickster为'%'符号添加了解释。 – 2013-05-07 13:56:54

这是你所需要的:Windows Batch Script for Incremental Backup

@echo off 
set source=c:\temp\test\1 
set dest_path=c:\temp\test\2\ 
pushd %dest_path% 
setlocal enableDelayedExpansion 
set "dest_folder_name=Backup" 
set "n=0" 
for /f "delims=" %%F in 
(
    '2^>nul dir /b /ad "%dest_folder_name%*."^|findstr /xri "%dest_folder_name%[0-9]*"' 
) 
do (
    set "name=%%F" 
    set "name=!name:*%dest_folder_name%=!" 
    if !name! gtr !n! set "n=!name!" 
) 
set /a n+=1 
set final_destination="%dest_path%%dest_folder_name%%n%" 
md %final_destination% 
robocopy %source% %final_destination% /E /R:3 /W:10 /FFT /NP /NDL 
popd 
@echo on