mac上でimagealphaコマンドを使用してピクチャを圧縮バッチ処理する
4899 ワード
1 #! /bin/bash
2
3
4 #BASE_DIR="/Users/jiading/Documents/basepng";
5 #OUTPUT_DIR="/Users/jiading/Documents/output";
6 BASE_DIR="/Users/jiading/Documents/SwordsmanApp/art/ / - /9_ ";
7 OUTPUT_DIR="/Users/jiading/Documents/SwordsmanApp/art/ / - output 9";
8
9 CUR_READ_DIR="";
10 CUR_WRITE_DIR="";
11
12
13 dopng(){
14
15 readPng=$1;
16 writePng=$2;
17 fileName=$3;
18 fileName=${fileName%.*}".png";
19 echo " : "$fileName;
20
21 #speed 1-11
22
23 sudo /Applications/ImageAlpha.app/Contents/MacOS/pngquant -f $readPng -o $writePng"/$fileName" --quality 10 --speed 1 --nofs --posterize 0
24
25
26 }
27
28
29 loopDir(){
30
31 #1
32 cd $1;
33
34 for file in *;
35 do
36
37 localReadDir=$1;
38 localWriteDir=$2;
39
40
41 if [ -d $file ];then
42 echo $file" is a dir";
43
44 #2
45 CUR_WRITE_DIR=$localWriteDir"/$file"
46
47 #3
48 echo " :"$CUR_WRITE_DIR;
49 mkdir $CUR_WRITE_DIR
50
51 #4
52 loopDir $localReadDir"/$file" $localWriteDir"/$file"
53
54 #5
55 cd $1;
56
57 elif [ -f $file ];then
58
59
60 dopng $localReadDir"/$file" $localWriteDir "$file"
61
62 fi
63
64 done
65
66 }
67
68 main(){
69
70 #1,
71 if [ -d $OUTPUT_DIR ];then
72 echo "ouput , ";
73 rm -rf $OUTPUT_DIR
74 fi
75
76 #2, output
77 mkdir $OUTPUT_DIR
78
79
80 #3,
81 CUR_READ_DIR=$BASE_DIR
82 CUR_WRITE_DIR=$OUTPUT_DIR
83 loopDir $CUR_READ_DIR $CUR_WRITE_DIR
84
85 echo "=-=-=- =-=-=-="
86 }
87
88 main