用asp实现的代码批量修改程序
发布时间:2006-10-14 3:13:37   收集提供:gaoqian

是因工作需要做的一个批量修改代码的小东西,拿出来与大家分享
目前可以处理的文件类型:.asp .inc .htm .html 具体类型可自行修改添加

程序实现的功能:将源目录下的文件批量修改后存到目的目录下
用它稍做修改可以实现很多东西噢!

别的不说了,代码里面都写的很清楚了
<%
Server.ScriptTimeOut = 500 '脚本超时时间

'// +---------------------------------------------------------------------------+
'// | 批量修改函数        |
'// | ------------------------------------------------------------------------- |
'// | 属性:path_from 源文件目录   path_to 目标文件工作目录   |
'// | ------------------------------------------------------------------------- |
'// | 返回值:无         |
'// | ------------------------------------------------------------------------- |
'// | 程序流程:......        |
'// | ------------------------------------------------------------------------- |
'// | 编写者:WYC; 编写时间: 2004-03-08;      |
'// +---------------------------------------------------------------------------+
Sub midfile(path_from, path_to)
 list_from = path_from '储存当前源工作目录
 list_to   = path_to '储存当前目标工作目录
 Set fso   = CreateObject("Scripting.FileSystemObject")
 Set Fold  = fso.GetFolder(list_from) '获取Folder对象
 Set fc    = Fold.Files '获取文件记录集
 Set mm    = Fold.SubFolders '获取目录记录集
 For Each f2 in mm
  set objfile = server.createobject("scripting.filesystemobject")
  objfile.CreateFolder(path_to & "\" & f2.name) '创建目录
  midfile path_from & "\" & f2.name, path_to & "\" & f2.name '递归调用
  response.write path_to & "\" & f2.name & " 完毕!<br>"
 Next
 For Each f1 in fc
  file_from = list_from & "\" & f1.name '生成文件地址(源)
  file_to   = list_to & "\" & f1.name '生成文件地址(到)
  fileExt   = lcase(right(f1.name,4)) '获取文件类型
  If fileExt=".asp" or fileExt=".inc" or fileExt=".htm" or fileExt="html" Then '具体类型可自行修改添加
   set objfile = server.createobject("scripting.filesystemobject") '定义一个服务器组件(读取源文件)
   set out     = objfile.opentextfile(file_from, 1, false, false)
   content     = out.readall '读取数据
   out.close

   '// +---------------------------------------------------+
   '// | 文件内容处理模块(主要,其他都是文件操作)  |
   Set regEx     = New RegExp
   regEx.Pattern = "(\>\s*\n)"
   regEx.Global  = true '设置全部匹配模式
   content       = regEx.Replace(content, ">") '替换掉回车符
   content       = Replace(content, " ", "") '作tab替换
   '// +---------------------------------------------------+

   set objfile = server.createobject("scripting.filesystemobject") '定义一个服务器组件(写入目标文件)
   set outt    = objfile.createtextfile(file_to,TRUE,FALSE)
   outt.write(content) '写入数据
   outt.close
  else '否则直接复制文件
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CopyFile file_from, file_to
  End If
 Next
End Sub

midfile Server.mappath("temp/aaa"), Server.mappath("temp/bbb") '调用示例 源目录temp/aaa 处理后存到temp/bbb
        '源目录                     目的目录(必须是已经存在的目录)
%>
manyou(他山之石) 敬上

 

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50