搜索文件夹结构并复制到Windows操作系统中的另一个文件夹

时间:2013-12-29 20:20:40

标签: windows batch-file

我正在寻找一个Windows批处理文件脚本来搜索特定的命名并将其作为子目录复制到另一个文件夹。

我尝试使用带有完整目录名的xcopy命令将所有以service / test.txt结尾的子目录复制到另一个目录,如下所示:

xcopy .\alpha1\beta1\service\test .\copydir
xcopy .\alpha1\beta2\service\test .\copydir 

但是,我有许多文件结构要经过并复制。所以,我想知道是否有可用于复制这些文件的脚本或命令。

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL 
SET "sourcedir=c:\sourcedir"
SET "destdir=c:\destdir"
MD %destdir% 2>nul
FOR /f "delims=" %%a IN (
  'dir /s /b /ad "%sourcedir%\*"^|findstr /l /i /e "\service\test" '
 ) DO (
 SET "target=%%a"
 CALL SET target=%%target:%sourcedir%=%destdir%%%
 CALL md "%%target%%\" 2>nul
 CALL XCOPY /s /e /v "%%a" "%%target%%\" >nul
)
GOTO :EOF

这应该可以完成任务。

查看目录树,挑选所有目录名(dir../ad)并过滤那些以“\ service \ test”结尾的文件(findstr../e..

然后将源名称分配给target,将源名称替换为目标名称,创建新目标名称,抑制'already exists'消息并将源内容复制到(新)目录。