Windows批处理文件系统备份

时间:2011-07-10 00:27:40

标签: windows scripting batch-file ramdisk

更新

呃 - 即使这个问题没有“回答”,我只是把我的口袋里的东西都清空了,并购买了一块SSD。无论如何,我的ramdisk软件的成本差不多。我对这里的答案不再特别感兴趣,所以我只是将其标记为“已回答”并继续我的生活。

感谢您的帮助。


我有一个程序正在将文件写入ramdisk(在Windows XP中),我需要在完成执行后将其数据从ramdisk复制到我的硬盘上的目录中。显然在ramdisk中空间有限,我需要在运行之间尽可能多地释放ramdisk上的空间。简单的解决方案是将我的程序在ramdisk上生成的数据文件夹复制到硬盘上的某个位置,并以递归方式从ramdisk中删除“data”文件夹。

然而,该解决方案存在问题;我的程序查看文件系统和文件名以确保它不会覆盖文件(目录中的最新数据文件是006.dat,因此它将写入007.dat而不是覆盖任何内容)。我写完数据后就不能删除文件,因为当我将数据复制回硬盘时,它需要完整的文件系统来记录数据而不会覆盖旧文件

我想要一个简单的小窗口批处理脚本,我可以在程序完成将数据文件写入ramdisk后执行。这个批处理脚本应该将ramdisk“data”文件夹复制到我的硬盘并删除ramdisk中的所有文件,然后它应该重新创建文件系统,但是要使用所有零字节文件。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你可以简单地删除所有文件,除了最近的文件,那么你仍然会有006而你的记录器会生成007吗?

这似乎比创建零长度文件更安全,因为您必须确保它不会复制到备份上的真实006上。

编辑:抱歉无法单独批量处理如何执行此操作,但有一堆unix工具,特别是找到和触摸,这是完美的。这些端口有很多窗口 - 在SO上搜索选项。

Robocopy.exe(在Windows服务器资源工具包中免费下载)可以从一个目录复制到另一个目录并且可以选择查看新文件的目录并在关闭或更改时复制它们