Tcl脚本整理照片
我那个媳妇啊,典型的只管照不管 理,32G的卡竟然被弄满了。
费好大劲好不容易整理到电脑上,可是都是数字名字,看着都头疼,索性整理下。
首先安装tcl编译环境tcl86,度娘搞的,然后开动:
proc call_Deal {paths str} {
cd $paths
set strList ""
catch {set strList [glob *.*]}
set strreg "$str\(\[0-9\]\[0-9\]\)"
foreach strLine $strList {
if {[regexp $strreg $strLine "" strMonth]} {
set strtemp "$paths/$str$strMonth"
if {[file exists $strtemp]} {
#
} else {
file mkdir $strtemp
}
file copy -force "$paths/$strLine" "$strtemp/$strLine"
file delete "$paths/$strLine"
}
}
}
proc main {} {
set path "E:\\"
set year ""
cd $path
set strList [list]
catch {set strList [glob *]}
foreach strLine $strList {
if {-1 != [string first $year $strLine]} {
append path $strLine
break
}
}
set year ""
call_Deal "$path\\$year" $year
#set year "2017"
#call_Deal "$path\\$year" $year
#set year "2016"
#call_Deal "$path\\$year" $year
#set year "2015"
#call_Deal "$path\\$year" $year
#set year "2014"
#call_Deal "$path\\$year" $year
}
set strErrInfo ""
if {[catch {main} strErrInfo]} {
error "error = $strErrInfo"
}
1-19行定义了一个处理函数,总体思路就是把文件名中的年月匹配出来然后添加到目录后面作为文件路径,如果路径不存在就创建,然后拷贝文件到新目录里,删除旧文件。
22-31是因为我使用的编码方式调用的时候识别不了中文,所以处理下;如果直接双击脚本是不需要的,可直接运行。
家里那台电脑CPU是04年的,照片的处理还是比较快的,就是视屏太慢了,整个跟拷贝时间差不太多,代码也没有经过优化,草稿就这样了,功能没问题。
glob函数找的是所有文件,也可以进行后缀过滤,因为我拷贝的文件里只有照片和视频,所以匹配了所有文件。
Tcl脚本整理照片的更多相关文章
- Modelsim仿真tcl脚本与wave.do文件
Modelsim的仿真,如果一直使用图形界面建工程,编译,仿真,一个个加入观察波形的话,未免复杂了一些,尤其是当工程较大,需要观察的信号较多时,下面贴出一些常用的tcl脚本命令和wave.do常用语法 ...
- 使用Tcl脚本分配FPGA管脚
自己主动生成Tcl文件 Project -> Generate Tcl File for Project... 弹出例如以下对话框.设置脚本路径. 编辑引脚 使用set_location_ass ...
- Quartus16.0如何使用TCL脚本
前言 TCL脚本语言在EDA工具中使用频繁,本文主要介绍使用TCL脚本文件进行引脚分配,避免手动分配以及分配出错: 流程 1.准备好你的TCL脚本文件,举个栗子(脚本文件内容): 2.在Quartus ...
- Modelsim中使用TCL脚本编写do文件实现自动化仿真
通常我们使用Modelsim进行仿真,是通过图形界面点点点来进行操作,殊不知Modelsim完美支持TCL脚本语言及批处理命令do文件.简单来说就是从你修改完代码后到你重新编译把需要的信号拉出来查看, ...
- modelsim如何使用tcl脚本来写编译文件
对于modelsim进行仿真,可以通过GUI来进行仿真,当然更加快速的方法可以使用TCL脚本文件进行快速仿真. Modelsim采用TCL脚本文件仿真的具体流程如下所示: 具体的操作步骤如下 ...
- TCL脚本语言基础介绍
Tcl简介(一):Tcl 语法 Tcl 语法 Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,其强大的功能和简单精妙的语法会使你感到由衷的喜悦,这片文章对 Tcl有很好的描述和说明.如 ...
- 在Quartus中如何使用TCL脚本文件配制管脚
quartus软件分配管脚的方法有两种,一是选择菜单“assignments->pins”进入管脚分配视图手动分配:第二种方法是利用tcl脚本文件自动分配.这里我来介绍第二种方法. 1.生成tc ...
- 28nm工艺下,自动生成管脚排列文件,给设计加PAD,并在PAD上面打Label的流程(含Tcl脚本)
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
- ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法
本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...
随机推荐
- GitHub linux 提交文件及403错误处理
$git clone "Clone with HTTPS(自己生成的地址,如:https://github.com/******(用户名)/test.git)" 这时在你git ...
- Docker Swarm 高可用详解
Docker Swarm 高可用详解 Manager管理节点宕机后其他管理节点仍然可以使用管理 intermal distributed state store:内部分布式状态存储同步共享到每个节点. ...
- JSOIWC2019游记
世除我WC...都去广二了qaq,就我还在nj ycs至少也去了pkuwc啊 这个JSOIWC2019的内容看起来很水,进入条件简单,但窝啥都不会,肯定垫底 内容清单: 1.26 上午听机房dalao ...
- shadows
http://blog.51cto.com/11975865/2308030 https://www.jianshu.com/p/247cdbabf389 https://baijiahao.baid ...
- android中SELINUX规则分析和语法简介【转】
本文转载自:https://blog.csdn.net/LoongEmbedded/article/details/62430039 1. SELINUX是可以理解为一种Android上面的安全机制, ...
- Python入门 日志打印
logging # logging导入 import logging # 设置打印的最低级别 logging.basicConfig(level = logging.DEBUG) 使用 debug, ...
- Linux查看服务器硬件配置命令
一.查看服务器硬件信息 dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product|Seria ...
- PIL PNG格式通道问题的解决方法
近来研究图片的剪切拼接,用到PIL,在打开PNG格式保存为JPEG格式的图片发现报错: import os from PIL import Image im = Image.open(r'E:\wor ...
- DataTable与List的相互转换
List转DataTable: public static DataTable ToDataTable<T>(IEnumerable<T> collection) { var ...
- 读写方式 r , r+ , w , w+ , a , a+
r只读,r+读写,不创建:r+:可读可写,若文件不存在,报错 w如果文件已经存在,则不替换: w 就是打开文件,文件如果不存在,就会新建一个文件: w+: 可读可写,若文件不存在,创建 信息来源:ht ...