批量排序改名,批量查找文件以typescript形式列出

批量排序改名

#!/bin/bash
###############################
#@author  andrew
#@function 美术资源混乱。写个脚本给动画资源排序取名
###############################


function changeName()
{
	##碰到有空格的文件名就无法处理,要先删除空格
	ls -1 *.png | xargs -I FL rename " " ""  FL
	FILES=$(find . -maxdepth 1  -iname "*.png" )
	COUNT=0

	if [ $# == 2 ]
	then
		for FL in ${FILES[*]}
		do
			COUNT=$((COUNT+1))
			mv "${FL}"     "fish"${1}_${COUNT}${2}".png"
			echo "${FL}"   "fish"${1}_${COUNT}${2}".png"
		done
	else
		echo "have no root path"
	fi
	echo "param len $#"
}

OLD_PATH=$(pwd)
ALL_FILES=$(find . -maxdepth 1 -type d)

for PARENT in ${ALL_FILES[*]}
do
	P_PATH=${OLD_PATH}/${PARENT}

	if [ "${PARENT}" != "." ]
	then
		###更改根目录下文件名
		cd ${P_PATH}
		changeName  "_a"   "_"$(basename  ${PARENT})

		###更改各个子动画文件名
		FOLDERS=$(find . -maxdepth 1 -type d)
		for ANIM in ${FOLDERS}
		do
			if [ "${ANIM}" != "." ]
			then
				cd ${P_PATH}/${ANIM}
				changeName  "_"$(basename ${ANIM})  "_"$(basename ${PARENT})
				mv *.png  ${P_PATH}
				cd ${P_PATH} 
				rm -rf ${ANIM}
				cd ${OLD_PATH}
			fi
		done
	fi
done 


 

批量查找文件,以typescript形式列出

##################################
#@funcion: list all files
#@author: andrew
#
##################################

G_ROOT_DIR=$(pwd  $(dirname $0) )

WRITE_FILE=${G_ROOT_DIR}/SD_anim.ts

if [ -f "${WRITE_FILE}" ]
then
	rm -f ${WRITE_FILE}
fi

echo "let SD_anim:any = {" > $WRITE_FILE
FOLDERS=$(find . -type d )
for FD in ${FOLDERS[*]}
do
	DN=$(basename $FD)
	if [ "$DN" != "." ]
	then
		echo $DN": [" >> $WRITE_FILE
		
		F_LIST=$( find $DN  -iname "*.png" )
		for FL in ${F_LIST[*]}
		do
			FN=$(basename $FL)
			echo "        \"$FN\"," >> $WRITE_FILE 
		done 
		echo "   ]," >> $WRITE_FILE
	fi
done

echo "};" >> $WRITE_FILE

猜你喜欢

转载自blog.csdn.net/wulong710/article/details/88072930
今日推荐