在Windows(桌面,批处理文件,xcopy,robocopy)中有没有办法复制目录并在目标上创建它上面的结构?
例如,假设我在c:\ data \ outlook \ profiles \ 2013中有一个文件目录。
我想将2013目录复制到c:\ copy,但希望它看起来像这样:c:\ copy \ data \ outlook \ profiles \ 2013。
当然,我可以在复制之前手动创建结构,但我希望批量执行此操作。
答案 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\"