什么是比Windows默认更好的文件复制替代?

时间:2008-08-04 15:20:43

标签: windows file filesystems utilities

我需要在计算机上复制数百个随机文件,并且非常谨慎地使用Windows内置的vanilla文件副本。

我不希望它挂在“你确定吗?”,“你真的确定吗?”,“甚至是zip文件?”,“当然也不是只读文件!”我一离开就会循环。

我不希望它工作几个小时然后意外停止:“有人曾经打开过这个文件,因此我不会复制它!”然后取消整个副本或只是退出,没有任何迹象表明已完成的工作和剩下的工作。

您有哪些文件管理程序?你推荐哪个?

此问题与我的其他问题有关:How can I use an old PATA hard disk drive on my newer SATA-only computer?

22 个答案:

答案 0 :(得分:57)

使用Robocopy (Robust File Copy)

注:

在Windows Vista和Server 2008中键入:

xcopy /?

你得到:

  

注意:Xcopy现已弃用,请使用Robocopy。

所以开始习惯robocopy:)

答案 1 :(得分:20)

良好的旧命令行Xcopy怎么样? S:作为源,T:目标:

xcopy /K /R /E /I /S /C /H /G /X /Y s:\*.* t:\
  

/ K复制属性。普通Xcopy将重置只读属性。

     

/ R覆盖只读文件。

     

/ E复制目录和子目录,包括空目录。

     

/ I如果目标不存在并复制多个文件,则假定目标必须是目录。

     

/ S复制除空的目录和子目录。

     

/ C即使发生错误也继续复制。

     

/ H也复制隐藏文件和系统文件。

     

/ Y禁止提示您确认是否要覆盖现有目标文件。

     

/ G允许将加密文件复制到不支持加密的目标。

     

/ X复制文件审核设置(隐含/ O)。

(编辑:已添加/ G和/ X,这是几年后的新内容)

答案 2 :(得分:15)

您可以尝试TeraCopyRoboCopy

答案 3 :(得分:12)

我绝对会喜欢:

1)Teracopy - 基于GUI,替换默认的Windows复制/移动UI并将其自身添加到上下文菜单。基本版是免费的(我想家里用)。

2)Robocopy - 基于CLI,在编写脚本时很有用。来自MS的免费工具,包含在Vista / Windows 2008中.MS Technet还有一个用于robocopy的GUI - 用于创建语句,以后可以嵌入脚本或命令提示符。

PS:我知道这些已经在这里提出过,如果可以的话,我会投票给他们。

答案 4 :(得分:7)

您确实需要使用文件同步工具,例如SyncBackSEMS SyncToy,甚至像WinMerge这样的工具也可以。 我更喜欢SyncBack,因为它允许您为几乎所有可能的情况和冲突设置非常明确的规则,至少比其他两个更为明确。 使用其中任何一个,您都不必一直点击所有弹出窗口,毫无疑问,您可以验证目的地与源完全相同。

答案 5 :(得分:6)

您可以尝试SuperCopier,它会在加载时替换标准的Windows复制机制。

它可以在最后重试失败的文件,恢复取消的副本(甚至是Windows取消的副本),对每个答案都接受“全部”。您甚至可以在问题出现之前回答烦人的问题(文件已经存在,错误复制文件)。

答案 6 :(得分:4)

robocopy竖起大拇指。我用它来做你提到的那些事情。

例如,我正在我的服务器上运行5个robocopy会话,我在3个远程服务器之间复制大约60GB的文件,我通过CheckPoint VPN连接到两个,另一个是通过映射到的Amazon S3空间JungleDisk。

我正在与该国另一端的同事合作。他今晚晚些时候会登录到同一台服务器并运行一组类似的robocopy批处理文件来下载我目前正在上传的所有更改。

'杀手级应用'功能是robocopy将保留文件日期/时间戳,默认情况下只会复制不同的文件。因此,您可以将其指向一个巨大的目录树,只会更改已更改的文件。

以下是做这类事情的一些有用提示......

/MIR镜像dir树,因此会删除并添加

/R:10告诉robocopy在放弃之前尝试10次复制文件。默认值为1,000,000次

/LOG+somefilename.log会将屏幕输出附加到somefilename.log,并在必要时创建它。

/XD dir1 dir2将忽略副本中名为dir1或dir2的所有目录。可以使用通配符。

/FFT将使用不如NTFS准确的FAT时间戳(在时间戳中使用2秒粒度)。我还发现这个在Linux文件系统和NTFS之间复制时很有用。

我通常使用像

这样的东西
robocopy d:\workdir y:\workdir /TEE /LOG+:d:\update.log /MIR /R:5

将使用y:\ workdir镜像(/ MIR)d:\ workdir,将其输出的日志附加到d:\ update.log(/LOG+d:\update.log),并将输出写入控制台和日志文件(/ TEE),并尝试每个文件5次,然后再转到下一个文件。

它也适用于UNC路径。

如果您有大量需要在多台PC上同步的文件,那么robocopy就是您的朋友。

答案 7 :(得分:3)

这听起来像备份风格的工具可能正是您所寻找的。

我一直在使用SyncBack(其中一个版本是免费的)。你也可以尝试MS SyncToy试图让移动,复制,同步等变得容易。

如果您确实在随机时间复制随机文件,您可以尝试Total Copy,这样可以在网络上运行良好(暂停,恢复等)。

答案 8 :(得分:3)

使用Robocopy,它能够以“可重启模式”复制文件,并且它应该尊重文件属性。它配备了Vista和Server 2008,你可以下载它用于较旧的操作系统。另外,您可以将其设置为在失败的副本上重试,以获取另一个进程暂时使用的文件。

答案 9 :(得分:3)

除了已经提出的XCOPY,RoboCopy和TeraCopy之外,您还可以试用Total Commander。

答案 10 :(得分:2)

我试过Copy Handler并且效果很好。它具有一些很酷的功能,您可以根据媒体类型和文件排队支持来控制缓冲,这样您就可以设置复制和移动操作并忘记它们,同时最大限度地减少磁盘碎片。因此,它不会同时从单个CD或DVD复制多个文件,因为它会使驱动器寻求太多。

最重要的是它的开源。

答案 11 :(得分:2)

Powershell脚本也可能非常有用,而且肯定比 xcopy 和其他DOS命令更灵活。您可以轻松地通过子目录进行递归,按名称或扩展名过滤文件,根据您选择的条件特别处理某些特定文件等。Powershell community web site是一个很好的起点。

答案 12 :(得分:1)

xcopy的GUI前端位于:http://lorenstuff.weebly.com/(免费) 控制是:输入,输出,设置开关和&跑。不是xcopy的替代或改进,只是一个简化操作的GUI。

答案 13 :(得分:1)

我已经尝试了KillCopy 2.85而且我只能说一个 - 这是一个功能强大的复制软件,可以100%替换Windows文件副本。从我现在测试的替代品中可能是最好的。文件传输速度非常快。 KillCopy是最快的软件,可以复制40 MB / s的文件。 我选择的原因很简单 - KillCopy在所有Windows平台上都能正常工作 什么是架构 - 32或64位。

答案 14 :(得分:1)

ZTreeWin这是一个32位文本模式,树状结构的Windows文件/目录管理器。非常容易使用,有一个菜单,但这也显示了各种命令的键。易于在文件系统中导航,并且它具有分离窗格模式,因此您只需几次击键即可轻松地同时处理源和目标。完成任务远比Windows资源管理器或Xcopy更有效。

答案 15 :(得分:1)

除了已经提到过的Robocopy,XXCOPY还有一个免费版本。它的语法向后兼容XCOPY,但有大量的附加选项(XXCOPY / HELP> x创建一个42kb文件,所有选项都可用)。例如,您可以使用它删除文件,包含或排除副本的目录列表,将其用作“触摸”实用程序等。

我已经使用它多年了,它是竖起大拇指。

答案 16 :(得分:1)

我自己制造了一台配备4GB RAM,双核1.8GHz 40GB PATA驱动器主驱动器和250GB SATA驱动器辅助驱动器的PC,并安装了Windows Vista商业版。当我不得不从我的旧PATA磁盘复制120GB数据时,Vista失败并且不断崩溃。我绝对推荐Teracopy免费版。

答案 17 :(得分:1)

我一直在使用Copy Handler。最好的事情是它像下载管理器一样排队。它有一个shell扩展,因此您可以右键单击拖动,或者只使用copyhandler将副本设置为默认操作。

答案 18 :(得分:1)

Xcopy保留修改日期,仅创建日期和访问日期将更改。

(在XP专业版上测试过,请在小文件夹上试一下,看看你是否使用Vista,因为我没有在Vista下测试它)

编辑:您可能希望重定向输出:

xcopy /K /R ....... s:\*.* t:\ >c:\xcopy.log 2>&1

这样,如果文件无法复制,您可以检查日志(即系统卷信息会产生错误,但无论如何,该文件夹无关紧要)

答案 19 :(得分:0)

Copywhiz程序(商业)似乎解决了您列出的确切问题。

答案 20 :(得分:0)

Xcopy [source] [destination] /e /c /h /o /d 

复制以前未复制过的所有内容。基本上可以重新启动,因为你可以按下并进入,它将在你停止或失去连接时开始。不复制已经复制的文件并保留onwership和属性。

它也会忽略错误,所以如果ti无法复制某些东西,它就会继续存在。

我记得因为它的xcopy echo(e)d

答案 21 :(得分:-3)

重新启动Linux,安装驱动器,并使用GNU cp