美文网首页
Flutter:脚本处理多倍图的命名及移入对应目录

Flutter:脚本处理多倍图的命名及移入对应目录

作者: 春暖花已开 | 来源:发表于2023-08-23 11:04 被阅读0次
    脚本rename_move.sh
    #!/bin/bash
    
    # 读取用户的源路径和目标路径
    read -r -p "请输入源路径和目标路径: " srcFolder dstFolder
    
    srcFolder="$(echo "$srcFolder" | sed "s/'//g")"
    dstFolder="$(echo "$dstFolder" | sed "s/'//g")"
    
    # 检查目标文件夹是否存在, 不存在则创建
    mkdir -p $dstFolder
    
    # 检验当前文件夹下是否有文件
    while [ -n "$(ls -p $srcFolder)" ]; do
      read -r -p "请输入要修改的源文件名和目标文件名(输入exit则退出): " srcName dstName
    
      # 输入exit执行提前退出
      if [[ "$srcName" == "exit" ]]; then
        echo "执行退出操作"
        break
      fi
    
      # 判断目标路径下是否已经有了对应的文件名
      if [ -e "$dstFolder/$dstName.png" ]; then
        echo -e "\033[31m\n目标文件夹中已存在重名文件,移入操作已取消。\n\033[0m"
      else
        # 判断输入的源文件是否存在
        if [ -e "$srcFolder/$srcName.png" ]; then
          mv "$srcFolder/$srcName.png" "$dstFolder/${dstName}.png"
          echo "文件移入成功。"
        else
          echo "\033[33m\n您输入的源文件$srcName.png不存在, 请重试.\n\033[0m"
        fi
    
        # 判断二倍图是否存在
        if [ -e "$srcFolder/${srcName}@2x.png" ]; then
          mkdir -p "$dstFolder/2.0x"
          mv "$srcFolder/${srcName}@2x.png" "$dstFolder/2.0x/${dstName}.png"
          echo "文件移入2倍图成功。"
        fi
    
        # 判断三倍图是否存在
        if [ -e "$srcFolder/${srcName}@3x.png" ]; then
          mkdir -p "$dstFolder/3.0x"
          mv "$srcFolder/${srcName}@3x.png" "$dstFolder/3.0x/${dstName}.png"
          echo "文件移入3倍图成功。"
        fi
      fi
    
      # 判断源路径下是否有文件
      if [ -z "$(ls -p $srcFolder)" ]; then
        echo "\033[32m================================所有文件处理完毕================================\033[0m"
      fi
    done
    
    

    初级使用

    1、sh rename_move.sh;

    2、按照提示输入 源路径 目标路径;

    3、输入 原文件名称 目标文件名称;

    4、自动循环执行 或 通过输入 exit 提前退出。

    高级使用:添加到全局(针对MacOS)

    1、mkdir ~/bin && cp rename_move.sh ~/bin/frm;

    2、echo 'export PATH="$PATH:~/bin"' >> ~/.zshrc

    接下来可以在任意路径里,直接通过 sh frm 来调用了。如果还感觉麻烦,可以在~/.zshrc里定义alias frm="sh frm", 那么直接frm就可以了。

    相关文章

      网友评论

          本文标题:Flutter:脚本处理多倍图的命名及移入对应目录

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