如何从一个文件夹中的1000个恢复文件中删除.efs文件扩展名

时间:2013-07-29 01:11:27

标签: filenames recovery

我最近恢复了1.5TB外置硬盘崩溃。我用来恢复文件的程序是Active Undelete Enterprise,它非常棒。成功恢复文件后,它们都以.efs扩展名保存,因此文件看起来像mydocument.docx.efs。起初我以为它们是加密的并且需要解密,我花了10分钟就知道我只需要从整个文件名中删除.efs并且mydocument.docx完美地工作。问题是现在我在数百个文件夹中有超过55,000个文件,我需要在每个文件后删除.efs。有谁知道怎么做?

2 个答案:

答案 0 :(得分:0)

在命令提示符窗口中,导航到这些文件所在的顶级目录。 输入命令

DIR /S/B >>filelist.txt

此命令将为您提供当前目录以及所有嵌套子目录的裸格式文件列表,而不包含任何无关信息。该列表将包含在名为“filelist.txt”的文本文件中或您选择调用它的任何其他文件中。然后,我将在文本编辑器中使用此文本文件来转换每行文本,例如

C:\Users\dlucas\.gimp-2.8\mathmap\file1.png.efs

rename c:\Users\dlucas\.gimp-2.8\mathmap\file1.png.efs file1.png

给出一个简单的例子,说明我刚在系统中使用这种方法找到的文件。

您需要使用具有列式编辑功能的文本编辑器,因为您必须修改许多文件。像CodeWright这样的老程序员编辑使这一点变得非常简单,而Eclipse或Notepad ++等现代编辑器使这变得更加困难,可能需要一个柱状编辑插件,具体取决于版本。您基本上必须制作文件中所有文本的列式副本,然后将副本粘贴到最右侧 - 远远足以使第二列文件名和路径不会覆盖任何现有文件名和路径。然后,您可以使用列式编辑功能来选择和删除第2列中文本的路径名,因为重命名命令要求第2个参数只是基本文件名和没有路径信息的扩展名。您可以使用列式编辑功能在每行前加上“RENAME”。如果您尝试在没有柱状编辑功能的情况下执行此操作,您会发现它很慢!

另一种方法是使用由“正则表达式”形成的命令来创建重命名命令。如果您不熟悉“正则表达式”,请向程序员朋友询问,因为这不是一个从头开始学习的简单主题。如果您熟悉正则表达式,这可能是执行此任务的最简单方法。多年来我没有使用它们,也不再回想起使用的确切语法,或者我会自己告诉你。

无论您使用何种编辑器,目标都是将此路径和文件名的ASCII文件列表转换为批处理文件(完成编辑后,只需将file1.txt重命名为file1.bat)。然后,您可以通过在命令提示符下键入file1.bat来运行批处理文件。

我刚刚使用您使用的同样非常棒的工具遇到了同样的问题。我在等待取消删除程序完成时写这篇文章。它使用这个额外的扩展恢复文件似乎非常反直觉所以我会寻找一个选项,使它在完成后不会这样做。如果我找到一个,我会在这里发布一个更具体的工具。否则,我将像你一样重命名所有kazillion文件。

答案 1 :(得分:0)

根据Active @ UNDELETE文档,您遇到了此问题,因为您将文件恢复到“不支持加密”的磁盘。该文档没有提供有关哪种磁盘支持加密等的进一步说明。

它们提供了一个Decrypt命令,可以将文件的专有名称恢复为后处理步骤。不幸的是,这需要您“包含”每个要解密的文件,不支持通配符和解析子目录,因此这是一个非首发,我认为我们都有数十万个文件需要重命名

我确实发现通过选择一个普通的固定(不可移动)硬盘驱动器作为恢复工作的目的地,生成的文件不会以加密方式结束(即,使用正确的文件名和扩展名恢复它们) 。我最初选择了一个基于USB的大型闪存驱动器,文件存储在“加密”状态(没有真正加密,但可能是这样,因此它们提供.efs扩展名)。当然,这意味着我必须在切换到普通硬盘后重新运行命令(由于存在许多扇区CRC错误,需要大约16个小时来恢复80GB的文件)。