移动文件时,XCopy可以将它们放入文件中

时间:2015-06-04 05:46:49

标签: batch-file cmd backup xcopy

我正在为我的usb制作一个备份脚本,并偶然发现了这个。

xcopy "E:\" "D:\backup" /s/h/e/k/f/c/y

当我执行我的批处理脚本时,它在我的D:\驱动器中创建了一个名为backup的文件(不是文件夹)。

然后我将它重命名为.zip文件夹并将其解压缩,内部看起来就像这样。

enter image description here

这些文件是什么?它们的用途是什么?

我可以将usb备份到zip吗?

4 个答案:

答案 0 :(得分:3)

您的视频显示了您从初始问题中遗漏的重要信息:当xcopy询问您的目标目标是文件还是目录时,您告诉xcopy它是一个文件。

然后xcopy继续将源中的每个文件写入该文件,因为这是您告诉它的内容。不幸的是,xcopy不会创建存档文件,因此不是将所有文件合并到容器文件中,而是简单地用每个源文件一次覆盖目标文件 - 这是您的奇怪行为的关键所在。重看。

根据您的视频,xcopy处理的最后一个文件是Action Plan.xlsx - 这一点非常重要。由于这是xcopy处理的最后一个文件,因此D:\ backup是该文件和该文件的副本。

关于Excel文件的有趣之处在于,虽然旧的.xls文件是只能由Excel打开的专有Microsoft文件,但较新的.xlsx文件实际上只是XML文件的存档。 (例如,this是我几年前的工作时间表,当你用WinRAR打开它时 - 看起来很熟悉?)

总而言之,您将源中的每个文件复制到同一目标文件中,复制的最后一个文件恰好是一个存档文件。下次运行脚本时,选择 D 而不是 F

答案 1 :(得分:1)

“移动文件时,XCopy可以将它们放入文件”

xcopy 副本文件,它不会移动

“当我执行我的批处理脚本时,它在我的文件中创建了一个文件(不是文件夹) D:\ drive称为备份“

您还没有名为D:\backup的文件夹。

“xcopy”E:\“”D:\ backup“/ s / h / e / k / f / c / y”

让我们看看命令选项的作用。

  • /s复制文件夹和子文件夹

  • /h复制隐藏的系统文件和文件夹(默认= N)

  • /e复制文件夹和子文件夹,包括空文件夹。      可以用来修改/ T.

  • /k复制属性。否则XCOPY将重置只读属性

  • /f复制时显示完整的源文件名和目标文件名。

  • /c即使发生错误,也要继续复制。

  • /y取消确认覆盖文件的提示。

这些选项都不会使xcopy创建单个文件,而不是包含复制文件的目录树。

“然后我将其重命名为.zip文件夹并将其解压缩,”

见上文。为什么你认为该文件是zipfile? xcopy不会创建zip文件。

“我可以将usb备份到zip中吗?”

是的,但不是xcopy。 windows backup命令将在幕后创建zip个文件。

有关详细信息,请参阅How To Use Backup and Restore in Windows 7

选择“让我选择选项”并选择您的E:驱动器。

enter image description here

来源xcopy

答案 2 :(得分:0)

尝试以下命令,看看是否有效,理想情况下我要做的是告诉xcopy复制的工件是目录/文件夹而不是文件

echo D|xcopy "E:\" "D:\backup" /s/h/e/k/f/c/y

答案 3 :(得分:0)

在命令提示符窗口xcopy /?中运行,并阅读此命令的帮助输出。

您可以在那里阅读有关参数/I的内容,该参数告诉 xcopy 目标是目录,而不是如果尚未存在则应创建的文件。因此,您只需要附加参数列表/i/I

我建议在每个参数之间插入一个空格,因为这是常见格式,请参阅 xcopy 命令的帮助。