afan
发表于 2010-12-1 15:15:01
本帖最后由 afan 于 2010-12-1 15:16 编辑
html\libfunctions\_StringBetween.htm 这个我判断为UDF函数,在内置函数中也搜索不到的,因此放 ...
131738 发表于 2010-12-1 15:04 http://www.autoitx.com/images/common/back.gif
这个简单:$File = 'AutoIt3 TOC.hhc'
$str = String(Fileread($File))
$str = StringRegExpReplace($str, '(?<=\w)%20(?=\w)', ' ')
FileMove($File, $File & '.bak', 1)
FileWrite($File, $str)
131738
发表于 2010-12-1 15:11:21
回复 277# afan
html\intro\IE6Example.htm 这个在文档中能点击打开,换不过来也没影响吧....
131738
发表于 2010-12-1 15:04:46
本帖最后由 131738 于 2010-12-1 15:06 编辑
273#修改了下,其实就是去掉了两处“>”,我现在测试修改的文件数是503个
也就是说全部的*.htm文件中只有 ...
afan 发表于 2010-12-1 14:36 http://www.autoitx.com/images/common/back.gif
html\libfunctions\_StringBetween.htm 这个我判断为UDF函数,在内置函数中也搜索不到的,因此放过了。。。。
还有一个问题要麻烦了:
文档解压后,html 同文件夹下有个 AutoIt3 TOC.hhc 目录文件,纯文本的,其中有类似:
html/functions/VarConv%20Management.htm 的文本,约 20 多初,中间多了 %20字符串,造成编译时
不能连接,要求将 %20替换为一个空格,应该是正则替换吧,我不会,请帮忙,谢谢!!!
下面我整理 UDF 函数了。。。。
afan
发表于 2010-12-1 14:36:07
本帖最后由 afan 于 2010-12-1 14:45 编辑
273#修改了下,其实就是去掉了两处“>”,我现在测试修改的文件数是503个
也就是说全部的*.htm文件中只有两个文件没有修改了:
html\intro\IE6Example.htm -------------------这个没有 charset 标记
html\libfunctions\_StringBetween.htm -------------------这个 charset=iso-8859-1 ,可能前辈之前忘记处理汉化了
afan
发表于 2010-12-1 14:08:19
回复 274# 131738
呵呵,前辈过奖了 ^ ^
经过测试,已经算完美了,不过由于我的疏忽,造成以下几个文件漏网,哈哈
html\appendix\ascii.htm = 128
html\appendix\SendKeys.htm = 128
html\appendix\WinMsgCodes.htm = 128
html\intro\IE6Example.htm = 128 这个应该可以不用管
html\macros\AutoItRelated.htm = 256
html\macros\Directory.htm = 128
html\macros\TimeAndDate.htm = 128
以上文件如果用其页面的关键字搜索将搜不到,我修改下判断前辈再重新做一个,修改记录里面应该会多出以上文件(IE6Example.htm除外)。
cxm23
发表于 2010-12-1 11:53:18
谢谢,支持中文全文搜索方便多了
131738
发表于 2010-12-1 10:42:02
搜索、替换、改格式 近500个文件不到4秒,效率是不用说的,呵呵~
afan 发表于 2010-12-1 03:47 http://www.autoitx.com/images/common/back.gif
果然高手,出手不凡!!!!佩服!!!!谢谢!!!!!
afan
发表于 2010-12-1 03:47:31
本帖最后由 afan 于 2010-12-2 02:01 编辑
搜索、替换、改格式 近500个文件不到4秒,效率是不用说的,呵呵~;-----------------------以下这里需要自定义
Local $WorkDir = 'E:\Autoit3356整理\3361解压\html' ;需要搜索的目录
Local $BakDir = 'E:\Autoit3356整理\3361解压\备份\'
Local $LogFile = @ScriptDir & '\替换记录.txt'
;-----------------------自定义结束
Local $ts = TimerInit() ;返回一个时间戳(开始计算耗时)
Local $a = _FileSearchToArray($WorkDir, '*.htm') ;遍历搜索*.htm文件(包括子目录)到数组
If @error Then Exit MsgBox(48, '错误', '未搜索到文件 ')
Local $FR, $thStr, $FLog, $x = 0
For $i = 1 To $a
$FR = String(FileRead($a[$i]))
If StringInStr($FR, 'charset=UTF-8"') Then ;该文件含有UTF-8字符
FileMove($a[$i], $BakDir & StringRegExpReplace($a[$i], '.+?\\html\\', ''), 9) ;备份文件及目录结构
$thStr = StringRegExpReplace($FR, '(?<=charset=)UTF-8(?=")', 'GB2312')
FileWrite($a[$i], $thStr) ;创建ANSI格式文件
$FLog &= $a[$i] & @CRLF ;做输出记录
$x += 1
EndIf
Next
Local $te = Round(TimerDiff($ts))
FileDelete($LogFile)
FileWrite($LogFile, '共修改 ' & $x & ' 个文件,耗时 ' & $te & ' 毫秒。以下为已替换并改为ANSI格式的文件:' & @CRLF & $FLog)
ShellExecute($LogFile)
Func _FileSearchToArray($sPath, $sFilter = '*.*')
If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
If Not StringInStr(FileGetAttrib($sPath), 'D') Then Return SetError(1, 0, 0) ;无此目录
If StringReplace($sFilter, ' ', '') = '' Then $sFilter = '*'
Local $sOUT = @ScriptDir & '\$$$_____temp_filelist.txt'
FileClose(FileOpen($sOUT, 2))
RunWait(@ComSpec & ' /c ' & 'dir "' & $sPath & $sFilter & '" /a:-d /b /s > ' & $sOUT, '', 0)
Local $FR = FileRead($sOUT)
FileDelete($sOUT)
Local $afilelist = StringRegExp('1' & @CRLF & $FR, '\V+', 3)
If @error Or UBound($afilelist) = 1 Then Return SetError(2, 0, 0) ;该目录无文件
$afilelist = UBound($afilelist) - 1
Return $afilelist
EndFunc ;==>_FileSearchToArray
afan
发表于 2010-12-1 02:09:49
今天到此为止吧。。。昨夜为此问题失眠了。。。。下线了。。。
131738 发表于 2010-12-1 02:08 http://www.autoitx.com/images/common/back.gif
辛苦您了,晚安~
131738
发表于 2010-12-1 02:08:55
今天到此为止吧。。。昨夜为此问题失眠了。。。。下线了。。。
afan
发表于 2010-12-1 02:07:39
回复 269# 131738
前辈早点休息吧,按照你的要求,脚本我来弄~
131738
发表于 2010-12-1 02:06:15
回复 265# afan
感急还是不行的。。。。我慢慢来吧。。。。
那个脚本我试图加一个备份文件夹,结果将文件到转换为 0 kb 了。。。。
afan
发表于 2010-12-1 02:04:17
回复 267# 131738
你不会把它也给改了吧,哈哈~ 用原始图片覆盖掉即可~~
131738
发表于 2010-12-1 02:02:35
回复 266# 131738
有点麻烦了。。。。。
131738
发表于 2010-12-1 01:59:21
回复131738
图片路径并没变,你没把资源弄丢吧,如:
html/tutorials/helloworld/filenew.png
afan 发表于 2010-12-1 01:54 http://www.autoitx.com/images/common/back.gif
文件夹中有 htm 文件和其它文件(如图片文件)的话,会否对其它文件有影响,我还没细看。。。