Emuelec自动清理无用图片和视频脚本

9 篇文章 4 订阅
4 篇文章 0 订阅

本脚本将rom下的正在使用的游戏图片和mp4文件找出来放入used_vedio、used_img文件夹下,你可以手动把images或vedios下的文件全部删掉,然后将used_vedio、used_img文件夹下的文件移动回去,这样就达到了清理的目的

# glcleaner.sh
# 1. 将本脚本放入roms/<游戏类>/目录下,比如roms/psx/glcleaner.sh
# 2. 然后命令行执行:cd roms/psx && chmod +x ./glcleaner.sh && ./glcleaner.sh

OLD_IFS=${IFS}
IFS=$'\n'
# 解析gamelist.xml以获取游戏配置信息
GAME_LIST=`cat ./gamelist.xml |\
        grep -v '<?xml' |\
        grep -v 'gameList>' |\
        grep -v '<game.*>' |\
        sed -n 'H;${x;s/\n//g;p;}' |\
        awk 'BEGIN{FS="</game>"} END{i=1;while(i<=NF){ print $i;i++}}' |\
        sed '/^[[:space:]]*$/d' |\
        sed '/^$/d'`

# 检测每个游戏的资源配置
for GAME in ${GAME_LIST}
do
  G_NAME=
  G_PATH=
  G_IMG="EMPTY!"
  G_VIDEO="EMPTY!"
  #echo ${GAME}
  if [ -n "$(echo ${GAME} | grep "<name>")" ]; then
    G_NAME=${GAME#*<name>}
    G_NAME=${G_NAME%</name>*}
    #echo ${G_NAME}
  fi
  if [ -n "$(echo ${GAME} | grep "<path>")" ]; then
    G_PATH=${GAME#*<path>}
    G_PATH=${G_PATH%</path>*}
    #echo ${G_PATH}
  fi

  if [ -n "$(echo ${GAME} | grep "<image>")" ]; then
    G_IMG=${GAME#*<image>}
    G_IMG=${G_IMG%</image>*}
    #echo ${G_IMG}
  fi
  if [ -n "$(echo ${GAME} | grep "<video>")" ]; then
    G_VIDEO=${GAME#*<video>}
    G_VIDEO=${G_VIDEO%</video>*}
    #echo ${G_VIDEO}
  fi

  DIR_VEDIO_USED='used_video'
  DIR_IMG_USED='used_img'
  mkdir -p "${DIR_VEDIO_USED}"
  mkdir -p "${DIR_IMG_USED}"


  # 开始验证配置的文件是否存在
  echo "------------->"
  echo "Verifying: ${G_NAME}"
  if [ -f "${G_PATH}" ]; then
    if [ -f "${G_IMG}" ]; then
      # echo "  Image  exist:${G_IMG}"
      # 移动到别处,方便后续清理没用的
      [ -n "$(echo ${G_IMG} | grep "images/")" ] && mv "${G_IMG}" "${DIR_IMG_USED}/"
      # 有的图片有可能放到videos目录下
      [ -n "$(echo ${G_IMG} | grep "videos/")" ] && mv "${G_IMG}" "${DIR_VEDIO_USED}/"
    else
      echo "  E: Image  Not Exist:${G_IMG}"
    fi
    if [ -f "${G_VIDEO}" ]; then
      # echo "  Video  exist:${G_VIDEO}"
      # 移动到别处,方便后续清理没用的
      [ -n "$(echo ${G_VIDEO} | grep "videos/")" ] && mv "${G_VIDEO}" "${DIR_VEDIO_USED}/"
      # 有的视频有可能放到images目录下
      [ -n "$(echo ${G_VIDEO} | grep "images/")" ] && mv "${G_VIDEO}" "${DIR_IMG_USED}/"
    else
      echo "  E: Video  Not Exist:${G_VIDEO}"
    fi
  else
    echo "  E: ${G_PATH} Not Exist!"
  fi
done
echo "========"
echo "Done! Please check dir: ${DIR_VEDIO_USED}, ${DIR_IMG_USED}"
IFS=$OLD_IFS

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值