批处理文件将内容从一个文件夹复制到另一个

时间:2015-03-16 10:52:59

标签: batch-file copy

我有以下文件夹结构:

-folder1
 - Folder2
    - Folder3
        -Folder4
            -Folder5
                - Folder6
                - Folder7
                - Folder8
        -Folder9
            -Folder10
                - Some Files
                - package.bat

@echo off
set SOURCE=""
set DESTINATION="oer_distribution\"

REM ZIP app settings:
set ZIP_EXE="C:\Program Files\7-Zip\7z.exe"
set ZIP_EXTENTION=zip
set ZIP_FILE_NAME=oer_distribution
set EXTRACT_KEY=x
set ARCHIVE_KEY=a
set FOLDER_TO_ZIP=oer_distribution
set ZIP_FILE_NAME=%ZIP_FILE_NAME%.%ZIP_EXTENTION%


:CREATE_FOLDER
echo ************************************************************
IF exist %DESTINATION% (
RMDIR /Q /S %DESTINATION%
echo %DESTINATION% deleted
)
mkdir %DESTINATION%
echo %DESTINATION% created

:COPY_CONTENTS
echo --------------------------------------------------------
 xcopy %SOURCE% %DESTINATION% /E
 echo contents copied from %SOURCE% to %DESTINATION%

:CREATE_ZIP
echo --------------------------------------------------------
echo Create ZIP file for distribute....
if exist %ZIP_FILE_NAME% del %ZIP_FILE_NAME%
rem "C:\Program Files\7-Zip\7z.exe" a "Folder2.zip" %DESTINATION%
%ZIP_EXE% %ARCHIVE_KEY% %ZIP_FILE_NAME% %FOLDER_TO_ZIP%\
echo zip file created


:DELETE_FOLDER
echo """"""""""""""""""""""""""""""""""""""""""""""""""""""""
RMDIR /Q /S %DESTINATION%
echo %DESTINATION% deleted

现在,当我从Folder10(package.bat)运行批处理文件时,它必须复制folder5中的所有内容,在Folder10下创建一个新的Folder11并将内容复制到那里。

我的主要问题是如何定义源路径和目标路径。

由于

1 个答案:

答案 0 :(得分:1)

看来您的问题是如何创建从Folder10(您当前的目录)到Folder5的相应路径,并将其复制到Folder11下面的新Folder10 1}}。

在这种情况下,您可以这样做:

SET Source="..\..\Folder4\Folder5"

..\将从当前目录备份一个级别,因此该命令的移动方式如下:

  

Folder10(当前)> Folder9(.. \)> Folder3(.. \)> Folder4> Folder5

您似乎已经拥有将Source复制到Destination的代码,因此上述路径应该这样做。