有一个文件夹里面有6个子文件夹,每个子文件夹有2400张图片,现在需要将每个子文件夹中最后480张图片剪切出来存为一个小文件夹,如何将新存的6个小文件夹存为一个大文件夹
时间: 2024-09-27 11:15:04 浏览: 30
php读取出一个文件夹及其子文件夹下所有文件的方法示例
为了将每个子文件夹的最后480张图片从原位置剪切出来并分别存储到单独的小文件夹中,然后把这些小文件夹合并成一个大的文件夹,你可以按照以下步骤操作:
1. **打开命令行或终端**:首先,你需要在一个可以访问所有子文件夹的位置打开命令行窗口。
2. **进入源文件夹**:使用`cd`命令切换到包含六个子文件夹的根目录。
3. **创建临时文件夹**:使用`mkdir`创建一个新的临时文件夹,例如叫`temp_folder`,用于存放剪切出的小文件夹。
```
mkdir temp_folder
```
4. **遍历子文件夹**:对于每个子文件夹,使用`for`循环,结合`find`命令找到最后480张图片。假设图片名称为`.jpg`格式,示例如下:
```sh
for subfolder in *; do
last_480=$(find "$subfolder" -type f -name "*.jpg" | head -name "*.jpg" | tail -n 1) # 获取第480张图片
# 创建新的子文件夹并将最后一张图片移动到该子文件夹
mkdir -p "$temp_folder/$(basename $subfolder)_last480"
mv "$tail_files" "$temp_folder/$(basename $subfolder)_last480"
# 如果还有其他图片,复制过去
cp "$last_480" "$temp_folder/$(basename $subfolder)_last480" || true
done
```
5. **合并小文件夹到大文件夹**:完成所有子文件夹处理后,将临时文件夹的内容合并到一个大的文件夹中。这里假设我们想将其命名为`merged_images`:
```sh
mkdir merged_images
cp -r temp_folder/* merged_images/
rm -rf temp_folder
```
现在,所有的子文件夹最后480张图片都被移动到了`merged_images`文件夹内。
阅读全文