Windows cmd shell xcopy 到网络目录不起作用

标签 windows batch-file xcopy

我正在尝试制作一个批处理文件,将所有新文件和文件夹从源文件夹复制到网络目录。应复制(备份)所有新的子目录和新文件。

我的代码:

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/

相关文章:

c# - 是否可以 "launch"一个(大)文件的副本而不等待结果?

batch-file - 批处理文件 : Copy all files and folder except one folder

windows - 如何使用 Windows 批处理脚本从文件夹 'A' 中删除文件夹 'B' 中不存在的所有文件/文件夹?

c++ - 处理 WM_ENDSESSION 的正确方法?

windows - 如何在 32 位批处理脚本中运行 64 位版本的 Windows 实用程序(例如 msiexec)?

Windows:使用(非默认)shell 动词启动文件,例如 .bat 或命令行中的 "edit"

ms-access - 将 mdb 文件转换为 csv

c++ - Boost消息队列未跨两个进程接收

windows - 当其中一个文件有错误时,如何获取特定 Mercurial 修订版的内容?

batch-file - 使用批处理文件删除所有浏览器的历史记录