我正在尝试制作一个批处理文件,将所有新文件和文件夹从源文件夹复制到网络目录。应复制(备份)所有新的子目录和新文件。
我的代码:
xcopy "C:\Source""T:\Backup"/d/i/s/q
(/d
仅用于新文件,/i
因为源是目录,/s
用于所有子目录和文件,/q
只是为了抑制复制文本)
源包含子目录和文件 (.txt)。
第一次运行时,它会按原样复制所有内容。当我将新的 .txt 文件添加到现有子目录之一并再次运行它时,我收到消息:
“创建目录不为空的文件时发生错误。 无法创建文件夹“T:\Backup”。 已复制 0 个文件。 (翻译自瑞典语,并非 100% 原创)
问题是当我尝试将此命令发送到本地源时,例如“C:\test”并执行相同的程序。
谁能理解为什么这对网络驱动器不起作用? 我应该尝试另一个命令,例如 robocopy 吗?
最佳答案
跳过 xcopy 并改为使用带有/E 标志的 robocopy。它内置于所有最新版本的 Windows 中。免费下载 XP。
例子:
robocopy c:\source T:\backup /E
这会将“源”文件夹中的所有文件复制到尚未复制的“备份”文件夹。
如果您不想在控制台上显示输出(相当于 xcopy 中的/Q 选项):
robocopy c:\source T:\backup /E /LOG:nul
关于Windows cmd shell xcopy 到网络目录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041037/