美文网首页
flutter图片处理文件夹

flutter图片处理文件夹

作者: liboxiang | 来源:发表于2019-10-08 23:27 被阅读0次

自动处理2倍图和3倍图以适用于flutter

#! /bin/bash

#用于修改图片名称及移动文件夹以适用于flutter
#用法举例,终端跑如下命令:脚本路径 图片文件夹路径
#/Users/sunfly/Desktop/changeName.sh /Users/sunfly/Documents/smart_life_app/images
function read_dir(){
        for file in `ls $1`       #注意此处这是两个反引号,表示运行系统命令
        do
            if [ -d $1"/"$file ]  #注意此处之间一定要加上空格,否则会报错
            then
                if [[ $file == "2.0x" ]] || [[ $file == "3.0x" ]]
                then
                    echo "2.0x或者3.0x文件夹"
                else
                    read_dir $1"/"$file
                fi
            else 
                if [[ $file == *@2x* ]]
                then
                #2倍图处理
                    if [ -f $1"/"${file/@2x/} ]
                    then
                        if [ ! -d $1"/2.0x" ]  
                        then
                            #不存在2.0x文件夹则创建
                            mkdir $1"/2.0x"
                        fi
                        #存在一倍图,将二倍图放到2.0x文件夹
                        mv $1"/"$file $1"/2.0x/"${file/@2x/}
                    else
                        #不存在一倍图,将二倍图改为一倍图用
                        mv $1"/"$file $1"/"${file/@2x/}
                    fi
                    # echo "2x = "$file
                else 
                #3倍图
                    if [[ $file == *@3x* ]]
                    then
                        echo "3x = "$file
                        if [ -f $1"/"${file/@3x/} ] || [ -f $1"/"${file/@3x/@2x} ]
                        then
                            #存在一倍图或者二倍图
                            if [ ! -d $1"/3.0x" ]  
                            then
                            #不存在2.0x文件夹则创建
                                mkdir $1"/3.0x"
                            fi
                            #存在一倍图或者二倍图,将三倍图放到3.0x文件夹
                            mv $1"/"$file $1"/3.0x/"${file/@3x/}
                        else
                            #不存在一倍图或者二倍图,将三倍图改为一倍图用
                            mv $1"/"$file $1"/"${file/@3x/}
                        fi
                    fi
                fi
                #  if [ ${file##*.} = 'png' ]
                #  then 
                #    #在此处处理文件即可
                #    subStr="@*x"
                #     echo ${file/@2x/}
                #     # cp $1"/"$file  "/Users/sunfly/Desktop/image/"$file
                #  fi
            fi
        done
    }   
#读取第一个参数
read_dir $1

相关文章

网友评论

      本文标题:flutter图片处理文件夹

      本文链接:https://www.haomeiwen.com/subject/xhmhyctx.html