tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)

来源:互联网 发布:js中event属性 编辑:程序博客网 时间:2024/04/30 15:17

#假设目录下全部都是普通文件,如果目录下还有子目录请
#参考文章"读取文件夹下所有文件返回路径",

#http://blog.csdn.net/dulixin/archive/2008/02/29/2133840.aspx
#
#此脚本的方法主要应用于处理大批量中小文件
#
#主要使用命令:open、string map、read
#
#
#mydir:需要修改的文件所在目录
#str1:被替换的字符串
#str2:替换的字符串

set mydir "C:/test"
set str1 "eth_0/1"
set str2 "uplink_0/1/1"
set strList [list $str1 $str2]

cd $mydir
pwd

#操作目录下所有的文件,先使用只可读的方式打开
#文件,读出文件内容,然后关闭I/O通道,处理好字
#符串后再以可写并截断文件的方法打开文件,把处理
#好的内容写回去。
#是否还有更好的操作文件的方法还待研究,我的方法
#相当于处理完字符串后删除以前的文件再生成一个新
#的文件。

foreach myfile [glob *] {
 set channel [open $myfile r]
 set strFile [read -nonewline $channel]
 close $channel
 set strFileTemp [string map $strList $strFile]
 set channel [open $myfile w]
 puts $channel $strFileTemp
 close $channel

原创粉丝点击