复制目录并创建上层目录结构

时间:2014-03-06 15:19:20

标签: windows batch-file xcopy robocopy

在Windows(桌面,批处理文件,xcopy,robocopy)中有没有办法复制目录并在目标上创建它上面的结构?

例如,假设我在c:\ data \ outlook \ profiles \ 2013中有一个文件目录。

我想将2013目录复制到c:\ copy,但希望它看起来像这样:c:\ copy \ data \ outlook \ profiles \ 2013。

当然,我可以在复制之前手动创建结构,但我希望批量执行此操作。

1 个答案:

答案 0 :(得分:1)

这是一个应该以完整路径复制目标的例程。

@echo off
call :CopyWithPath "C:\Data\Outlook\Profiles\2013" "C:\Copy"
exit /b %ErrorLevel%

:CopyWithPath <Source> <Target>
md "%~f2\%~p1" && copy "%~f1" "%~f2\%~p1"
exit /b %ErrorLevel%

带值

的命令示例
md "C:\Copy\Data\Outlook\Profiles\" && copy "C:\Data\Outlook\Profiles\2013" "C:\Copy\Data\Outlook\Profiles\"