所以我一直试图基于CSV(旧名称,新名称)重命名大约5000个文件夹
这是一次操作,一旦将hdkjsh2-2f8c-46b9-bbdb_doc转换为3,就无需再次触摸它。
我尝试了解决方法here (Setting up an automator workflow with a command script),但是发现它在处理文件夹/目录名称方面并没有多大作用,并且所有指南/文档都围绕文件名而不是文件夹。 任何建议将不胜感激
CSV示例
public function getValues(Request $request,$stellentyp=''){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$view = 'user.'.$stellentyp;
return view($view,['typ' => $typ, 'stellentyp', $stellentyp, 'bereich', $bereich]);
}
答案 0 :(得分:0)
转到要重命名的其他文件夹所在的文件夹。选择要重命名的所有文件夹。然后单击查找器窗口顶部的操作图标。这将打开一个窗口,其中一个选项是重命名x个项目。参见下图。
当您选择“重命名x个项”时,您将得到一个类似于以下所示的框,您可以在其中指定新名称。
答案 1 :(得分:0)
请先备份,然后再尝试以下操作。
在您的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
然后启动Terminal并通过运行以下命令使脚本可执行:
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