批处理文件 将内容从一个文件夹复制到另一个文件夹
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
的代码,所以上面的路径应该可以做到。
我有以下文件夹结构:
-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
的代码,所以上面的路径应该可以做到。