此命令有效:
robocopy \\build7\d$ d: *.* /mir /XD "System Volume Information" /XD "$Recycle.Bin"
但是当我尝试添加 /MT 标志时:
robocopy \\build7\d$ d: *.* /mir /XD "System Volume Information" /XD "$Recycle.Bin" /MT
我得到的唯一输出是
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Thu Apr 09 09:11:27 2015
Source : \\build7\d$\
Dest : D:\
Files : *.*
Exc Dirs : System Volume Information
$Recycle.Bin
Options : *.* /S /E /COPY:DAT /PURGE /MIR /MT:8 /R:1000000 /W:30
------------------------------------------------------------------------------
它给了我输出,然后就坐在那里。
我尝试使用 /LOG 标志将输出重定向到文件,但它仍然只是在文件中具有相同的输出。
它在后台做了一些我看不到的事情,还是我做错了什么?
根据我的经验,您所看到的情况是正常的。当 Robocopy 使用多线程 (/MT) 运行时,输出仅限于异常(新文件、额外目录、错误等)。它不会向您显示您可能习惯看到的目录名称和文件计数。这意味着如果目标在很大程度上与源同步,您将看不到太多输出。
我不知道为什么会出现这种情况。我假设当涉及多个线程时,Robocopy 会以不同的方式处理目录遍历。这种差异可能导致无法(或无意义)产生正常输出。
当我使用多个线程运行 Robocopy 时,我经常使用 Windows 资源监视器中的“磁盘”选项卡来查看 Robocopy 正在做什么。 如何使用资源监视器
编辑:我发现这一定是一个超级旧版本正在执行。清理我的路径并确保 windows\system32 是链中的第一个使事情恢复正常。 XP0100 版本可能来自资源工具包或其他东西。
Robocopy 总体上已经变得不同了。只需执行 robocopy /e 就会执行 MIR 类型命令,其中列出了其中不存在的所有文件(至少不会删除它们)。但 /MT 甚至不再是一个选项。将其添加到命令字符串中会给出有关在使用 /MIR 之前阅读“True Replication”的注释(我什至没有要求)。这最近停止工作,因为这是我编写的应用程序中调用的一个程序,破坏了这个东西。如果你调用“robocopy /?” /MT 不再是列出的选项。我会检查你正在使用哪个版本,我的显示为 XP010版本。运行程序时,这会显示在第一行。
PS C:\WINDOWS\system32> robocopy C:\Intel\Config.Msi\ C: r/MT:5
开始时间:2023 年 9 月 19 日星期二 16:17:53
来源 - C:\Intel\Config.Msi
目的地 - C:
r\
Files :
选项:/COPY:DAT /R:1000000 /W:30
错误:无效参数 #3:“/mt:5”
Simple Usage :: ROBOCOPY source destination /MIR
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
/MIR :: Mirror a complete directory tree.
For more usage information run ROBOCOPY /? or read Robocopy.Doc.
注意:在首次使用 /MIR 之前,请阅读 Robocopy.Doc 中的“真实复制”! **** /MIR 可以删除文件也可以复制文件! PS C:\WINDOWS\system32> robocopy C:\Intel\Config.Msi\ C: r /mt:5 /e