我见过这个问题的几种变体,但是没有一个女巫完全回答我的问题。我有几个文件夹,其中包含 2,000 到 150,000 个图像文件。随着文件数量随着速度的急剧下降而增加,搜索这些目录变得非常低效。
我想要做的是使用automator:1.选择文件夹2.创建子文件夹3.用(1.)中选择的文件夹中的前1000个文件填充新创建的子文件夹4.如果外部文件夹中存在更多文件,创建另一个子文件夹并填写接下来的 1000 个文件等。
这可能吗?非常感谢任何帮助。
谢谢你,布伦登
我见过这个问题的几种变体,但是没有一个女巫完全回答我的问题。我有几个文件夹,其中包含 2,000 到 150,000 个图像文件。随着文件数量随着速度的急剧下降而增加,搜索这些目录变得非常低效。
我想要做的是使用automator:1.选择文件夹2.创建子文件夹3.用(1.)中选择的文件夹中的前1000个文件填充新创建的子文件夹4.如果外部文件夹中存在更多文件,创建另一个子文件夹并填写接下来的 1000 个文件等。
这可能吗?非常感谢任何帮助。
谢谢你,布伦登
这需要一个目录并将内容移动到名为“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是你想要在每个文件夹中有多少个文件。