回滚大文件重命名/移动操作的方式

似乎也许是一个编程问题,但我的经验是,pipe理员是这个适当的人群?

答:我有大约10,000个文件,只是枚举,并在一个目录 – fl000001.pdf ….

B.我也有这些文件的元数据逗号分隔文件(即文件名,ImageID,作者,date,客户端)。

这将最终成为一个基本上静态的数据集,我们将使用文件系统来组织它们,通过连接字段并重命名/移动它们(如f:\ data \ 2012-12-23 \笔者\ clientname.pdf)。

这是非常微不足道的,我做了很多这个,我可能会使用Python,但我想要下一步,我想我已经看到了这一点,所以我正在寻找一些推荐并进一步的build议。

是不是有一些方法(除了回滚虚拟机)来虚拟化文件系统或文件系统的一部分,以便我所做的任何更改实际上都不会实现,直到我提交它们,或者执行相同的操作在文件系统的非虚拟化部分,在虚拟化的文件系统上进行testing之后?

我发现沙箱,这似乎是正确的人,但有没有其他的应用程序/方法/build议是适合这个? http://www.sandboxie.com/有没有人使用沙盒这种事情? 其他的想法,这是太低的回报? ;)

背景:

很多时候,客户端并不知道他们想要什么,我想这将是一个简单的方法来设置一些程序参数,运行重命名,这是很快,但很难回滚(除非我做到了但是因为它可能会失败,这看起来更容易?),他们可以看看,在会议中,他们看看,我们可以调整,滚动文件系统,并重新运行重命名。

我可以做到这一点在Windows 7,Windows 2008R2,或Linux – 没有Mac,我会清理/枚举名等,所以希望它是非常愚蠢的文件名容忍文件系统的限制/怪癖/规则。

接近mfinni的答案,但使用硬链接 。 简而言之,您正在将磁盘上的另一个指针创build为同一个文件。 您可以删除一个或另一个,仍然有磁盘上的原始文件。

这样你就可以保持原来的文件和文件夹结构,作为奖励,脚本将几乎立即运行,因为它不必创build实际文件的副本。

我build议使用本机工具轻松回滚,而不虚拟化您的文件系统:

  1. 写一个脚本来做它,并写一个脚本来扭转它。
  2. 编写一个脚本,用新的文件名创build符号链接,而不是重命名这些文件。
  3. 写一个脚本来做到这一点,而不是一个简单的重命名 – 因此,你有原始位置的原始文件。