<blockquote>
讯享网
续写之后不久看到这一篇诗文,有感而录:
《临江仙》【宋】晏几道
梦后楼台高锁,酒醒帘幕低垂。去年春恨却来时。落花人独立,微雨燕双飞。
记得小苹初见,两重心字罗衣。琵琶弦上说相思。当时明月在,曾照彩云归。
目录
一、前言
二、程序
1、根据修改日期批量修改文件名
2、根据创建日期删除文件
1)删除当天文件
2)根据月份删除指定文件夹下文件
3)根据指定日期的文件
三、结尾语
一、前言
在日常使用电脑中,因手误复制了一堆文件,一个一个删除太麻烦,于是想偷个懒的我就去学习了一下bash脚本,以实现批量修改文件名、批量删除等等操作。
注意:下面程序执行过程为:修改文件名为.sh后缀,然后在脚本所在文件夹下右键打开git bash环境,执行{bash fileName.sh}即可成功运行脚本。
二、程序
1、根据修改日期批量修改文件名
1)描述
因在上面下载大量图片,然鹅图片名却非常乱,要动手改的话一个一个改太慢,以实现根据修改日期批量修改文件名。
2)过程
首先我去学习了一下遍历文件夹内所有的文件,得到如下结果:

do和done就是起始,截止符,然后第五行是通过学习,作用是获取上一次修改时间并将其作为字符串赋给变量changeTime;后面是截取第1到10个字符串,其正好是年月日,将其赋给lastChangeTime,最后就是输出时间输出文件名啦。
1.初步尝试(建议不要运行这个)
#! /bin/sh
files=\((ls \)folder)
for file in \(files</p> <p style="margin-left:0;">do</p> <p style="margin-left:0;"> changeTime=\)(stat -c %y \(file)</p> <p style="margin-left:0;">lastChangeTime=\)(expr substr “\(changeTime" 1 10)</p> <p style="margin-left:0;">mv "\)file” “截图_lastChangeTime.jpg”
echo \(lastChangeTime</p> <p style="margin-left:0;"> echo \)file
done
弊端:如果是同一日期的文件,则只留下后面修改的文件,而且,令人啼笑皆非的是,本身这个cmd文件也囊括进去了,所以,它也就光荣牺牲了。哈哈哈!
2.较为完善版
通过学习,以及介绍截取字符串的,达到预期目的,不过上述弊端还在,同一日期的还是不能排除,仅仅是排除了learn.cmd文件,不让它被吞了(自己吞自己,xswl)。这个直接在文件夹中,在目录下右键,进入git bash命令行界面,然后输入命令{bash 文件名.cmd},记住如何修改的是10的话,是在当前目录起作用的,请勿随意运行,后果可能会是重要文件没了!请勿随意运行!!!
讯享网
2、根据创建日期删除文件
1)批量删除当天的文件
2)根据月份删除指定文件夹下文件
讯享网
3)根据指定日期删除文件
三、结尾语
后续还会补充的,(・∀・(・∀・(・∀・*)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/186758.html