34 lines
799 B
Bash
34 lines
799 B
Bash
#!/bin/bash
|
|
|
|
# 檢查參數數量
|
|
if [ "$#" -ne 3 ]; then
|
|
echo "用法: $0 <輸入文件> <縮放百分比> <目標大小(kB)>"
|
|
exit 1
|
|
fi
|
|
|
|
input_file="$1"
|
|
scale_percent="$2"
|
|
target_size="$3"
|
|
|
|
# 檢查輸入文件是否存在
|
|
if [ ! -f "$input_file" ]; then
|
|
echo "錯誤: 輸入文件 '$input_file' 不存在"
|
|
exit 1
|
|
fi
|
|
|
|
# 生成輸出文件名(始終使用 .jpg 擴展名)
|
|
filename=$(basename -- "$input_file")
|
|
filename="${filename%.*}"
|
|
output_file="${filename}_resized.jpg"
|
|
|
|
# 執行轉換,強制輸出為 JPG 格式
|
|
convert "$input_file" -resize "${scale_percent}%" -define jpeg:extent="${target_size}kb" "$output_file"
|
|
|
|
# 檢查轉換是否成功
|
|
if [ $? -eq 0 ]; then
|
|
echo "轉換成功: 輸出文件為 $output_file"
|
|
else
|
|
echo "錯誤: 轉換失敗"
|
|
exit 1
|
|
fi
|