在 Vista 中,通过什么命令行方式可以将目录的内容移动到另一个目录?

在 Vista 中,通过什么命令行方式可以将目录的内容移动到另一个目录?

我通常很喜欢 Vista,但我发现它的文件移动功能很差。

我有这两个目录

C:\dir1\
C:\dir2\

它们都包含许多子目录,子目录本身包含文件和子目录等。它们基本上具有相同的结构,但文件的内容不同。

我想要做的是将所有子目录C:\dir1\移动到C:\dir2\,覆盖 中的内容C:\dir1\

如果我通过在 Windows 资源管理器中拖动来执行此操作 - 它不起作用。它会询问我是否确定要合并,但之后它什么也不做。

如果我一次只对一个目录执行此操作,有时它会起作用,有时则不起作用。当它起作用时,它会将原始目录保留为空,这无害但很奇怪。

有什么好的、自动的、最好是命令行的方式来表示“将此目录的内容移到此目录的内容之上,是的,我是认真的,是的,覆盖所有内容,不,不要再问我任何问题,就这样”?

另外请告诉我 Windows 7 是否修复了这个问题。

答案1

xcopy c:\dir1 c:\dir2 /E /H /R /X /Y /I /K

成功了。

可通过命令行在 Vista 和 7 中运行。

供参考,这是此命令中开关的作用:

  • /E 复制目录和子目录,包括空目录。
  • /H 同时复制隐藏文件和系统文件。
  • /R 覆盖只读文件。
  • /X 复制文件审核设置(隐含/O)。
  • /Y 抑制确认是否覆盖现有目标文件的提示。
  • /I 如果目标不存在并且复制多个文件,则假定目标必须是一个目录。
  • /K 复制属性。常规 Xcopy 将重置只读属性。

您可以通过输入以下内容了解更多信息xcopy /?在命令行中。

如果你想完成“移动”,你只需删除 c:\dir1路径 c:\dir1 /S /Q

可能值得使用记事本将这两个命令粘贴到批处理文件(末尾带有 .cmd 或 .bat 的文本文件)中。然后您只需双击快捷方式即可。

相关内容