2

我见过这个问题的几种变体,但是没有一个女巫完全回答我的问题。我有几个文件夹,其中包含 2,000 到 150,000 个图像文件。随着文件数量随着速度的急剧下降而增加,搜索这些目录变得非常低效。

我想要做的是使用automator:1.选择文件夹2.创建子文件夹3.用(1.)中选择的文件夹中的前1000个文件填充新创建的子文件夹4.如果外部文件夹中存在更多文件,创建另一个子文件夹并填写接下来的 1000 个文件等。

这可能吗?非常感谢任何帮助。

谢谢你,布伦登

4

1 回答 1

1

这需要一个目录并将内容移动到名为“newFolder1”、“newFolder2”等的新文件夹中。

您是否经常使用终端?如果您需要更多指导,请告诉我。我也没有进行任何检查,所以如果您有任何错误,请告诉我。

o 将此文件保存到您的桌面(作为教程目的的 script.sh)

#!/bin/bash

cd "$1"                   #Change directory to the folder to sort
filesPerFolder=$2       #This is how many files will be in each folder

currentDir='newFolder1';
currentFileCount=0;
currentDirCount=1;

mkdir $currentDir;
 
for file in *
do
 if [ -f "$file" ]
  then
   mv "$file" "$currentDir";
 fi 
 currentFileCount=$(($currentFileCount + 1));
 if [ $(($currentFileCount % $filesPerFolder)) -eq "0" ]   #Every X files, make a new folder
  then
   currentDirCount=$(($currentDirCount + 1));
   currentDir='newFolder'$currentDirCount;
   mkdir "$currentDir";
 fi
done

o 打开终端并输入cd ~/Desktop/

o 键入chmod 777 script.sh以更改文件的权限

o 类型./script.sh "/path/to/folder/you/want/to/sort" 30

o 这里的30是你想要在每个文件夹中有多少个文件。

于 2012-08-07T12:03:36.373 回答