使用批处理文件复制特定文件夹和文件
copy specific folders and files using a batch file
我正在尝试创建一个将执行以下操作的批处理文件:
我有多个目录,每个目录中都有一个名为“06-2015”的文件夹。我想创建一个批处理脚本,它将遍历所有这些目录并复制文件夹“06-2015”及其文件而不是其他任何内容。
示例:
C:\Files\Accounts-2015
C:\Files\Sales-2015
C:\Files\IT-2015
有什么方法可以创建一个类似于以下内容的脚本:
xcopy C:\Files\*-2015 C:\Backup\*-2015 /s
或者有 different/better 的方法吗?
测试一下:如果您不想复制 06-2015 内的任何文件夹,请删除 /s 和 /e。
@echo off
for /d /r "c:\files" %%a in (06-2015?) do (
if /i "%%~nxa"=="06-2015" xcopy "%%a" "C:\Backup\%%~pnxa\" /s/h/e/k/f/c
)
只允许在 last 路径项中使用通配符。
@ECHO OFF
SET "target=06-2015"
IF NOT EXIST c:\backup\%target% MKDIR c:\backup\%target%
FOR /F "delims=" %%G IN ('DIR /B /AD "c:\files"') DO (
if exist "c:\files\%%G\%target%\" (
:: create backup directory if necessary
MKDIR "c:\backup\%%G\%target%\" 2>NUL
XCOPY /S /E /Y "c:\files\%%G\%target%\" "c:\backup\%%G\%target%\"
)
)
我正在尝试创建一个将执行以下操作的批处理文件:
我有多个目录,每个目录中都有一个名为“06-2015”的文件夹。我想创建一个批处理脚本,它将遍历所有这些目录并复制文件夹“06-2015”及其文件而不是其他任何内容。
示例:
C:\Files\Accounts-2015
C:\Files\Sales-2015
C:\Files\IT-2015
有什么方法可以创建一个类似于以下内容的脚本:
xcopy C:\Files\*-2015 C:\Backup\*-2015 /s
或者有 different/better 的方法吗?
测试一下:如果您不想复制 06-2015 内的任何文件夹,请删除 /s 和 /e。
@echo off
for /d /r "c:\files" %%a in (06-2015?) do (
if /i "%%~nxa"=="06-2015" xcopy "%%a" "C:\Backup\%%~pnxa\" /s/h/e/k/f/c
)
只允许在 last 路径项中使用通配符。
@ECHO OFF
SET "target=06-2015"
IF NOT EXIST c:\backup\%target% MKDIR c:\backup\%target%
FOR /F "delims=" %%G IN ('DIR /B /AD "c:\files"') DO (
if exist "c:\files\%%G\%target%\" (
:: create backup directory if necessary
MKDIR "c:\backup\%%G\%target%\" 2>NUL
XCOPY /S /E /Y "c:\files\%%G\%target%\" "c:\backup\%%G\%target%\"
)
)