OSX 如何批量重命名文件夹?

How do I Batch Rename Folders in OSX?

所以我一直在尝试根据 CSV(旧名称、新名称)重命名大约 5000 个文件夹

这是一次性操作,一旦hdkjsh2-2f8c-46b9-bbdb_doc转换为3就不需要再碰了。

我已经尝试了解决方案 here (Setting up an automator workflow with a command script),但发现它在涉及 folder/directory 名称时效果不佳,而且所有 guides/documentation 都围绕文件名而不是文件夹. 任何建议将不胜感激

CSV 示例

Doc_Location,  New_ID
hdkjsh2-2f8c-46b9-bbdb_doc , 3

转到您要重命名的其他文件夹所在的文件夹。 Select 所有要重命名的文件夹。然后单击 finder window 顶部的操作图标。这将打开 window,其中一个选项是重命名 x 个项目。见下图。

当您 select "Rename x items" 时,您会得到一个如下所示的框,您可以在其中指定新名称。

请在尝试以下操作之前进行备份。

在您的 HOME 目录中将以下脚本保存为 renamer:

#!/bin/bash

cat "file.csv" | while IFS=' ,' read dir new ; do
   if [ -d "$dir" ]; then
      echo Rename $dir as $new
      #mv "$dir" "$new"
   else
      echo "ERROR: Directory $dir not found - ignored"
   fi
done

然后启动终端并通过运行ning使脚本可执行:

chmod +x $HOME/renamer

然后将目录更改为您需要重命名的目录:

cd path/to/things/needing/renaming

确保将名为 file.csv 的 CSV 文件保存在该目录中,然后 运行 使用:

$HOME/renamer

它实际上什么都不做,它只是告诉你它会做什么。如果看起来正确,请编辑 $HOME/renamer 并删除行中的单个 #

#mv "$dir" "$new"

看起来像:

mv "$dir" "$new"

然后再次确认您已经备份并运行脚本:

$HOME/renamer