批处理脚本使用子文件夹名称将子文件夹复制到另一个文件夹

时间:2012-12-06 14:06:23

标签: batch-file copy

我需要将文件夹及其内容复制到目标文件夹使用批处理脚本。

例如, 我们有一个名为“ParentFolder”的文件夹,在这个文件夹中我们有“Child1”文件夹,在里面我有一个文本文件。

目标文件夹名为“Targetfolder”

我想首先检查“Parentfolder”的子文件夹是否为“Child1”文件夹,然后将整个文件夹“Child1”复制到“Targetfolder”

编辑 - 添加了评论代码

@echo on
set FOLDER1=c:\Temp\FOLDER1
set FOLDER2=c:\Temp\FOLDER2
if exist %FOLDER1% ( xcopy /Q /D /S /V %FOLDER1% %FOLDER2% )
:END 

1 个答案:

答案 0 :(得分:1)

为了澄清一下,您想将文件夹Parent (Child 1, Child 2)复制到Target ( Empty ),以便生成的副本变为Target ( Parent ( Child 1, Child 2) )

如果是,则需要将父名称添加到目标路径,因为xcopy仅将源目录的内容复制到指定的目标目录中。确保在目标路径的末尾有一个反斜杠,表示它是一个目录而不是一个文件。否则,系统会提示您。

@echo on
set SOURCENAME=FOLDER1
set FOLDER1=c:\Temp\%SOURCENAME%
set FOLDER2=c:\Temp\FOLDER2
if exist %FOLDER1% ( xcopy /Q /D /S /V %FOLDER1% %FOLDER2%\%SOURCENAME%\ )
:END