• Tcl脚本整理照片


    我那个媳妇啊,典型的只管照不管 理,32G的卡竟然被弄满了。

    费好大劲好不容易整理到电脑上,可是都是数字名字,看着都头疼,索性整理下。

    首先安装tcl编译环境tcl86,度娘搞的,然后开动:

     1 proc call_Deal {paths str} {
     2     cd $paths
     3     set strList ""
     4     catch {set strList [glob *.*]}
     5     set strreg "$str([0-9][0-9])"
     6     foreach strLine $strList {
     7         if {[regexp $strreg $strLine "" strMonth]} {
     8             set strtemp "$paths/$str$strMonth"
     9             if {[file exists $strtemp]} {
    10                 #        
    11             } else {
    12                 
    13                 file mkdir $strtemp
    14             }
    15             file copy -force "$paths/$strLine" "$strtemp/$strLine"
    16             file delete "$paths/$strLine"
    17         }
    18     } 
    19 }
    20 proc main {} {
    21     set path "E:\"
    22     set year "2018"
    23     cd $path
    24     set strList [list]
    25     catch {set strList [glob *]}
    26     foreach strLine $strList {
    27         if {-1 != [string first $year $strLine]} {
    28             append path $strLine
    29             break
    30         }
    31     }
    32     set year "2018"
    33 
    34    call_Deal "$path\$year" $year
    35    #set year "2017"
    36    #call_Deal "$path\$year" $year
    37    #set year "2016"
    38    #call_Deal "$path\$year" $year
    39    #set year "2015"
    40    #call_Deal "$path\$year" $year
    41    #set year "2014"
    42    #call_Deal "$path\$year" $year
    43 
    44 }
    45 set strErrInfo ""
    46 if {[catch {main} strErrInfo]} {
    47     error "error = $strErrInfo"
    48 }

    1-19行定义了一个处理函数,总体思路就是把文件名中的年月匹配出来然后添加到目录后面作为文件路径,如果路径不存在就创建,然后拷贝文件到新目录里,删除旧文件。

    22-31是因为我使用的编码方式调用的时候识别不了中文,所以处理下;如果直接双击脚本是不需要的,可直接运行。

    家里那台电脑CPU是04年的,照片的处理还是比较快的,就是视屏太慢了,整个跟拷贝时间差不太多,代码也没有经过优化,草稿就这样了,功能没问题。

    glob函数找的是所有文件,也可以进行后缀过滤,因为我拷贝的文件里只有照片和视频,所以匹配了所有文件。

  • 相关阅读:
    LeetCode-494. Target Sum(DFS&DP)
    页面过渡 页面切换
    推荐几款制作网页滚动动画的 JavaScript 库
    Loda Button
    在百度地图或谷歌地图给中国各省着色并高亮显示
    TweenMax.js
    anime.js 简单入门教程
    用nrm一键切换npm源
    阿里巴巴26个前端开源项目
    Git使用教程,最详细,最傻瓜,最浅显,真正手把手教
  • 原文地址:https://www.cnblogs.com/WaterGood/p/8169248.html
Copyright © 2020-2023  润新知