#!/bin/bash# 遍历的文件夹目录,这里假设文件夹在当前目录下的folder目录中
FOLDER_DIR="./folder"# POST接口的URL
POST_URL="https://example.com/upload"# 遍历文件夹
for folder in "$FOLDER_DIR"/*; doif [ -d "$folder" ]; then# 获取文件夹名称(身份证号码)folder_name=$(basename "$folder")echo "处理文件夹: $folder_name"# 遍历文件夹中的图片和语音文件for file in "$folder"/*.{jpg,png,gif,mp3,wav}; doif [ -f "$file" ]; thenecho "上传文件: $file"# 使用curl命令上传文件到POST接口curl -X POST -F "file=@$file" -F "folder_name=$folder_name" $POST_URLecho "上传完成"fidonefi
done
解释脚本:
-
变量设置:
FOLDER_DIR
:指定包含所有身份证号码命名的文件夹的目录路径。POST_URL
:目标POST接口的URL。
-
遍历文件夹:
- 使用
for folder in "$FOLDER_DIR"/*; do
循环遍历每个文件夹。
- 使用
-
处理每个文件夹:
- 获取文件夹的名称(即身份证号码)。
- 遍历文件夹中的所有图片和语音文件。
-
上传文件:
- 对于每个符合条件的文件,使用
curl
命令进行POST请求,将文件上传到指定的POST接口。 -F "file=@$file"
:指定要上传的文件。-F "folder_name=$folder_name"
:传递文件所在的文件夹名称(身份证号码)作为参数。
- 对于每个符合条件的文件,使用
-
输出信息:
- 打印出上传的文件信息和状态。
注意事项:
- 脚本中假设文件夹名称是唯一的身份证号码,且文件夹中的文件格式为jpg、png、gif、mp3或wav。
- 请根据实际情况修改
FOLDER_DIR
和POST_URL
的值。 - 确保目标POST接口允许通过
curl
命令上传文件,需要适当的认证和权限设置。
这个脚本可以根据实际需求进行修改和扩展,以符合具体的使用场景和文件类型。