代码这种经常完善的东西,其实是不太适合使用博客来发布的。

以下是一个批量修改照片名称的shell脚本:

事情是这样的,虽然手机拍的照片文件名是按照日期来确定的,但是是这种形式的 IMG_mmddYY_HHiiss.jpg。(字母的含义借助了php的表示法)

脚本的目的是将其修改成这种形式: IMG_YYmmdd_HHiiss.jpg

#!/system/bin/sh
#
#This shell to rename a or some jpg files
#some jpg file name are like this : IMG_200315_135037.jpg
#when we sort them,the sort are not arange by date
#so this shell will change its name to IMG_20150320_135037.jpg
#
# Usage: jpgrename dirname
# preYear=
maxdepth= alias find='busybox find'
alias cut='busybox cut' if [ -d $ ]; then
filenames=`find $ -maxdepth $maxdepth -name "IMG_??????_??????.jpg" -print`
elif [ -f $ ]; then
if [ `echo $ | cut -c ` != '/' ]; then
filenames=./$
fi
else
echo "No such file or directory: $1"
fi
#echo $filenames
count=
#filearr=$(echo $filenames)
for item in $filenames
do
oldFileName=$item
item1=${item%/*}
item=${item#$item1}
item2=`echo $item | cut -c 1-5`
item3=`echo $item | cut -c 6-7`
item4=`echo $item | cut -c 8-9`
item5=`echo $item | cut -c 10-11`
item6=`echo $item | cut -c 12-`
newFileName=$item1$item2$preYear$item5$item4$item3$item6
mv $oldFileName $newFileName
#echo $oldFileName-$newFileName
#echo ll
let count++
done
echo Total rename $count files

批量修改照片名称的shell脚本的更多相关文章

  1. ArcGIS 批量修改数据名称-arcgis案例实习教程

    ArcGIS 批量修改数据名称-arcgis案例实习教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:批量修改数据/文件名称 使用方法: 输入:文件夹(或者 ...

  2. LINQPad_批量修改图片名称

    用到这个工具是在后台批量修改图片名称的时候 下载并安装LINQPad. 这里要注意:在复制path路径的时候C:\xampp\htdocs\day01\angularjs_day01_am\angul ...

  3. node批量修改文件名称

    let fs = require('fs');//引用文件系统模块 let PATH = `./app_zijietiaodong/`;//当前文件夹 let ext = { readFileList ...

  4. 【Python】简单的脚本,轻松批量修改文件名称

    使用python脚本,批量修改文件夹名称 先创建一些没用的案例文件 import os #创建新文件夹 dir = os.makedirs('D:\\SomeThing\\testfile') #将文 ...

  5. MATLAB批量修改图片名称

    申明:转载请注明出处. 设在“D:\UserDesktop\pic\”目录下有很多张格式为jpg照片,命名不规则,如图. 现在用MATLAB批量修改所有图片的命名格式,改为1.jpg,2.jpg,.. ...

  6. 批量复制及执行命令shell脚本

    平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可 ...

  7. Java实现批量修改文件名称

    import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** ...

  8. 如何批量修改图片名称(win下)

    深度学习目标检测任务中常常需要大量的图片,这些图片一般来自网络爬虫或是自行批量下载,但下载下的图片常常在保存时被命名为长段英文数字混写,因此规律化命名下载的图片数据名称就显得尤为重要了,下面我演示在本 ...

  9. php实现批量修改文件名称

    场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...

随机推荐

  1. const 修饰函数

    At the very first ,I got a problem . Vector Vector::operator+(const Vector &v)const{ return Vect ...

  2. Asp.net MVC23 使用Areas功能的常见错误

    一般WEB项目都会不同的页面区域,如:用户前台.用户后台.管理员后台. 访问的URL: 用户前台:www.domain.com/home/index 用户后台:www.domain.com/admin ...

  3. GIS 学习及参考站点

    地理信息论坛 GIS空间站 GISALL 广东水利厅 flex版的

  4. Cupid's Arrow---hdu1756(判断点与多边形的位置关系 模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1756 题意:中文题,套模板即可: /* 射线法:判断一个点是在多边形内部,边上还是在外部,时间复杂度为 ...

  5. Barricade---hdu5889(最短路+网络流)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5889 题意:有n个点m条边,每条边的长度相同,我们可以默认为1,构成一个无向图:现在起点为1,终点为n ...

  6. Block作为property属性实现页面之间传值(代替Delegate代理与协议结合的方法)

    需求:在ViewController中,点击Button,push到下一个页面NextViewController,在NextViewController的输入框TextField中输入一串字符,返回 ...

  7. C# Socket编程 同步以及异步通信

    套接字简介:套接字最早是Unix的,window是借鉴过来的.TCP/IP协议族提供三种套接字:流式.数据报式.原始套接字.其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备问题,很少 ...

  8. iOS开发中 在MRC中让某些类使用ARC编译 或者相反

    如果你的工程是MRC 想让某些类使用ARC进行编译的话 那么需要在Build Phases中Complile Sourse 把该类后面 写上如下命令:-fobjc-arc  反之 写上如下命令:-fn ...

  9. php文件和目录操作函数

    文件:打开和关闭:fopen(), fclose()读:readfile(), file(), file_get_contents(), fgets(), fgetss(), fgetc()写:fwr ...

  10. Swift vs. Objective-C:未来看好 Swift 的十个理由

    Swift vs. Objective-C:未来看好 Swift 的十个理由 是时候使用易入手又全面的Swif语言为iOS和mac OS X做应用开发了. 虽然编程语言不会那么容易消逝,但坚持衰落范例 ...