Batch file 使用批处理文件复制特定文件夹和文件

Batch file 使用批处理文件复制特定文件夹和文件,batch-file,command-line-interface,command-prompt,Batch File,Command Line Interface,Command Prompt,我正在尝试创建一个批处理文件,该文件将执行以下操作: 我有多个目录,每个目录中都有一个名为“06-2015”的文件夹。我想创建一个批处理脚本,该脚本将遍历所有这些目录,并复制文件夹“06-2015”及其文件,而不复制其他内容 例如: C:\Files\Accounts\06-2015 C:\Files\Sales\06-2015 C:\Files\IT\06-2015 是否有一种方法可以创建一个脚本,类似于: xcopy C:\Files\*\06-2015 C:\Backup\*\06-20

我正在尝试创建一个批处理文件,该文件将执行以下操作:

我有多个目录,每个目录中都有一个名为“06-2015”的文件夹。我想创建一个批处理脚本,该脚本将遍历所有这些目录,并复制文件夹“06-2015”及其文件,而不复制其他内容

例如:

C:\Files\Accounts\06-2015
C:\Files\Sales\06-2015
C:\Files\IT\06-2015
是否有一种方法可以创建一个脚本,类似于:

xcopy C:\Files\*\06-2015 C:\Backup\*\06-2015 /s

或者有其他/更好的方法吗?

测试:如果不想复制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
)

仅允许在最后一个路径项中使用通配符

@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%\"
  )
)

这个代码工作得很好!我怎样才能阻止这个弹出窗口,或者至少让它默认为D作为目录?”C:\Backup\files\A\06-2015是否在目标(F=file,D=directory)上指定了文件名或目录名?我在这个术语的末尾添加了一个反斜杠
“C:\Backup\%%~pnxa\”
,这将避免出现提示。
/I
开关也几乎一样好。