Answers:
指定的文件夹/XD
是指源文件夹中存在的文件夹(要排除),因此,您仅指定要排除的文件夹名称,而不指定父级关系。
即:
robocopy ".\CurrentDir" ".\NewDir" /XD "SubDir1" "SubDir2" /E /MOVE
以下内容可能会有所帮助-它确实直接解决了相对路径问题-但确实允许许多排除目录和子目录。
如果您只是排除顶级文件夹-请使用文件夹名称-例如APC。但是,如果要创建子文件夹,则需要完整路径。该路径必须完全匹配源路径+向下到子文件夹的路径。我已经以许多不同的方式对其进行了测试,这是我能够使其正常工作的唯一方法。此批处理/ cmd文件格式还允许在路径或文件名中保留空格。
setlocal
set Source_path="\\usatlvmpdroadm1\C$\Installs"
set Destination_path="C:\Robo"
set Log_Path_and_File="C:\RoboCopy_Log_Files\01-Installs C drive to Robo C drive.txt"
set ED1="APC"
set ED2="\\usatlvmpdroadm1\C$\Installs\Dell\Dell MD3420 Firmware"
robocopy.exe %Source_path% %Destination_path% /COPYALL /ZB /MIR /MT:128 /DCOPY:T /XA:SH /XD %ED1% /XD %ED2% /XJ /XJD /R:2 /W:1 /NDL /NP /TEE /LOG:%Log_Path_and_File%
endlocal
%CD%
环境变量,您可以毫不费力地将相对路径转换为绝对路径。示例:robocopy ".\CurrentDir" ".\NewDir" /XD "%CD%\CurrentDir\SubDir1" "%CD%\CurrentDir\SubDir2" /E /MOVE