我正在为我的usb制作一个备份脚本,并偶然发现了这个。
xcopy "E:\" "D:\backup" /s/h/e/k/f/c/y
当我执行我的批处理脚本时,它在我的D:\驱动器中创建了一个名为backup的文件(不是文件夹)。
然后我将它重命名为.zip文件夹并将其解压缩,内部看起来就像这样。
这些文件是什么?它们的用途是什么?
我可以将usb备份到zip吗?
答案 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:
驱动器。
来源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 命令的帮助。