AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 44338
In Process
Pyrolistical
Pyrolistical
Asked: 2009-07-23 15:24:49 +0800 CST2009-07-23 15:24:49 +0800 CST 2009-07-23 15:24:49 +0800 CST

如何在 Windows 中复制巨大的(数百万)目录树?

  • 772

我有一个 NTFS 分区,其中有一个包含超过 500 万个目录的文件夹。每个目录包含更多目录,然后是文件。

我正在迁移到 SSD,我需要将所有这些数据复制到新驱动器,但我遇到了问题。

像这样的目录会使 Windows Explorer 崩溃,所以我什至没有尝试过。

我的第一次尝试是robocopy,它在过去运行良好。但是当我试图复制它时,它就永远不会开始,即使离开它好几天。我认为它试图在开始复制之前对所有内容进行索引。

你如何复制这种大小的目录?

windows copy ntfs
  • 14 14 个回答
  • 8285 Views

14 个回答

  • Voted
  1. NoahD
    2009-07-23T15:45:44+08:002009-07-23T15:45:44+08:00

    我从未见过 robocopy 像这样失败,但如果它由于大小/预索引而失败,那么为什么不编写自己的脚本来进行复制呢?我会用 PERL 写东西,然后在每个文件的基础上进行复制,然后递归地浏览它。您可以添加签入以查看文件是否已存在且具有相同的时间戳等。

    您还可以查看多线程的RichCopy 。

    • 3
  2. Bevan
    2009-07-23T16:33:16+08:002009-07-23T16:33:16+08:00

    正如其他一些答案所说,我从未见过 RoboCopy 像这样失败 - AFAIK,它不会预先进行任何索引,它只是从第一个目录开始并继续工作。

    您有最新版本的 RoboCopy 吗?有一些可以追溯到旧 NT 时代的旧副本漂浮在较大的副本上可能会出现问题。

    FWIW,这是我安装的版本标题以进行比较:

    -------------------------------------------------------------------------------
       ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
    -------------------------------------------------------------------------------
    
    • 3
  3. romandas
    2009-07-23T15:49:24+08:002009-07-23T15:49:24+08:00

    不确定您的分区上还有什么,但您可以使用 Linux live CD(如 GPartEd)并将整个分区整体复制到新驱动器。作为奖励,如果您想在执行此操作时更改分区大小,GPartEd 也会为您执行此操作。然后删除您不想复制的任何内容。:)

    • 2
  4. sysadmin1138
    2009-07-23T17:27:49+08:002009-07-23T17:27:49+08:00

    您的目录结构可能会遇到路径长度问题。NTFS 允许比 Explorer 或 CMD 访问的路径更长。这需要一点创造力来处理。通常这是由不使用任何一种方法的文件写入引起的,或者共享目录中有一个或三个允许它工作的目录。

    for /D %%D in (*.*) do call copydir.cmd %%D
    
    [CopyDir.CMD]
    subst m: %1
    m:
    xcopy *.* F:\newlocation\ /s/e/h/q/y
    subst m: /del
    

    在目录结构的顶部运行它以切断所述目录结构的顶部,并希望使您的路径足够小以对所有内容可见。使用您需要使用的任何复制工具而不是 xcopy。

    • 2
  5. Jim B
    2009-07-23T16:12:52+08:002009-07-23T16:12:52+08:00

    您可能需要使用诸如richcopy之类的多线程工具,它允许您指定线程数以及每个线程的挖掘深度。我还没有在 500 万个目录上尝试过它,但我已经在数千个目录上使用过它,它的效果比 robocopy 好得多。我包中的另一个复制实用程序是XXcopy。它没有那么快,但有一些非常酷的目录克隆选项。由于它是命令行,我认为它甚至不会尝试枚举结构,只需将其泵入即可。

    • 1
  6. Aaron
    2009-07-24T02:08:36+08:002009-07-24T02:08:36+08:00

    您可以使用 Windows NTbackup或类似的实用程序备份它吗?通常,当我移动大量数据时,我会从一台设备备份,然后再恢复到另一台设备。

    • 1
  7. Sven
    2009-07-23T15:28:43+08:002009-07-23T15:28:43+08:00

    也许试试旧的 xcopy

    • 0
  8. Carl C
    2009-07-23T15:54:13+08:002009-07-23T15:54:13+08:00

    我从来没有使用过它,也不能保证它,但人们对TeraCopy说好话。

    • 0
  9. Jan Jungnickel
    2009-07-23T15:59:02+08:002009-07-23T15:59:02+08:00

    不是一个真正的答案,更多的是建议的攻击线: *nix 的方法是使用tar cf - | tar xvf -,本质上是要求 tar 创建一个存档并将其直接通过管道传输到 tar 以提取它(在其他地方)。也许这也可以在 Windows 上以类似的方式完成。

    • 0
  10. djangofan
    2009-07-23T17:19:14+08:002009-07-23T17:19:14+08:00

    我使用 FastCopy ( http://www.ipmsg.org/tools/fastcopy.html.en )。10 多年来,它一直是行业标准的开源复印机。我不会使用其他任何东西。

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve