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工具的教程. 考虑到微信公众 ...
随机推荐
- Flask最强攻略 - 跟DragonFire学Flask - 第十五篇 Flask-Script
其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python ...
- Gpload安装手册(Linux版本)
Gpload安装手册(Linux版本) 一.python 2.7版本 Linux系统默认是安装python2.7的,如果没有需要手动安装(python版本要求2.4.4以上): 通过命令:python ...
- VOC标签转化为YOLO标签
参考darknet自带的voc_label.py import xml.etree.ElementTree as ET import pickle import os from os import l ...
- struts2学习笔记(一)
配置文件web.xml和struts.xml web.xml <?xml version="1.0" encoding="UTF-8"?> < ...
- The Guideline of Setting Up Samba Server on linux(Ubuntu)
The Guideline of Setting Up Samba Server on linux(Ubuntu) From terminate command window, install the ...
- docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面
1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat, ...
- R语言环境变量的设置 环境设置函数为options()
环境设置函数为options(),用options()命令可以设置一些环境变量,使用help(options)可以查看详细的参数信息. 1. 数字位数的设置,options(digits=n),n一般 ...
- css技巧小计
今天又学到两招,一招是把大框写相对定位,然后小框写绝对定位,运用top和left,想去哪里去哪里 另一招是边框渐变色,微信小程序,边框写渐变我没成功,然后大佬支招写一个大框,相对定位,然后设背景渐变色 ...
- C/C++.【转】解析URL的转义字符百分比(%)字符串
1.来自:[HTTP]_[C_C++]_[解析URL的转义字符百分比字符串] - 猪一戒 - 博客园.html(http://www.cnblogs.com/zhuyijie/p/6465303.ht ...
- C#退出程序方法分类
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: