取消外部磁盘中所有文件和文件夹的点

取消外部磁盘中所有文件和文件夹的点

我的外部硬盘驱动器中有数千个被删除的文件、文件夹和子文件夹。我想恢复这些文件夹中的所有图片。我想将它们全部删除,以便轻松浏览这些图片。

我尝试重命名文件夹,但似乎不可行。

答案1

名称冲突

您需要问自己的第一个问题是是否存在名称冲突的可能性。换句话说,如果可能存在隐藏版本和位于同一目录中的同一目录或文件的非隐藏版本。

从下到上

假设情况并非如此,这是您需要重命名的情况之一从下到上,因为您无法重命名(移动)刚刚重命名的文件夹内的文件;脚本将无法再找到它们并中断。

使隐藏文件可见

此外,在写这个答案的时候,@Rinzwind 的评论突然出现在我的脑海中,提到按Ctrl+H将使所有隐藏文件和文件夹可见,这当然是正确的。

如果您仍然想重命名文件和文件夹:

执行此操作的脚本

#!/usr/bin/env python3
import os
import sys
import shutil

directory = sys.argv[1]

for root, dirs, files in os.walk(directory, topdown=False):
    for f in files:
        if f.startswith("."):
            shutil.move(os.path.join(root, f), os.path.join(root, f[1:]))
    for dr in dirs:
        if dr.startswith("."):
            shutil.move(os.path.join(root, dr), os.path.join(root, dr[1:]))

如何使用

  1. 将脚本复制到一个空文件中,另存为rename_dotted.py
  2. 打开终端并输入命令:

    python3 /path/to/rename_dotted.py '<directory>'
    

    目录在哪里'<directory>',如果包含一个或多个空格,则需要用引号引起来。

    与往常一样,请先试用样品。

相关内容