批处理脚本问题:源文件夹未被复制,仅文件被复制到日期目录
批处理XCOPY未保留源文件夹结构的问题解决
问题原因
你的批处理中,SOURCE路径末尾带有反斜杠(C:\Users\123456\MyFolderToCopy\\),执行XCOPY %SOURCE% %NEW_FOLDER% /E时,XCOPY会将MyFolderToCopy目录下的所有内容直接复制到NEW_FOLDER根目录,而不会自动创建MyFolderToCopy作为子文件夹,导致结构不符合预期。
解决方案
有两种简洁的修复方式,都能满足你的需求:
方案1:手动指定目标子文件夹
直接修改XCOPY命令,在目标路径后追加要创建的MyFolderToCopy子目录:
XCOPY %SOURCE% %NEW_FOLDER%\MyFolderToCopy\ /E
XCOPY会自动在时间戳文件夹下创建MyFolderToCopy,再将源内容复制进去。
方案2:调整SOURCE路径格式
去掉SOURCE末尾的反斜杠,同时保持XCOPY目标为NEW_FOLDER:
SET SOURCE="C:\Users\123456\MyFolderToCopy" XCOPY %SOURCE% %NEW_FOLDER% /E
此时XCOPY会将MyFolderToCopy文件夹本身连同所有内容一起复制到时间戳文件夹下,正好生成你期望的结构。
验证效果
修复后,目标结构会变为:
\\MyServer\MyFiles\Version\YYYMMDDHHNN\MyFolderToCopy\Myfile01.txt \\MyServer\MyFiles\Version\YYYMMDDHHNN\MyFolderToCopy\Myfile02.txt
内容的提问来源于stack exchange,提问作者StaffsLebowski
相关产品推荐
相关产品推荐

