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

Batch File Copy contents from one folder to another

我有以下文件夹结构:

-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-Zipz.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-Zipz.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 并将内容复制到那里。

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

谢谢

看来您的问题是如何创建适当的相对路径以从 Folder10(这是您的当前目录)到 Folder5 并将其复制到下面的新 Folder11 Folder10.

既然如此,你可以这样做:

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

..\将从当前目录备份一级,所以这个命令移动如下:

Folder10 (current) > Folder9 (..\) > Folder3 (..\) > Folder4 > Folder5

您似乎已经有了将 Source 复制到 Destination 的代码,所以上面的路径应该可以做到。