首页 > 代码库 > tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)
tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)
#假设目录下全部都是普通文件,如果目录下还有子目录请
#参考文章"读取文件夹下所有文件返回路径",
#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
}
tcl/tk实例详解——修改目录下所有文件(使用一个字符串代替另外一个)