用批处理有个问题不懂解决,就是用delims=时,即分隔符为回车符,会将“bathome”那一段落后的空行去掉,于是无法判断是否已经段落结束了。
用VBS倒容易解决。- set fso= createobject("scripting.filesystemobject")
- set folder= fso.getfolder(".")
- set files=folder.files
- set res=fso.opentextfile("result.txt",8,1)
- for each file in files
- if lcase(fso.getextensionname(file)) = "txt" then
- res.write getstr(file)
- res.writeline
- end if
- next
- function getstr(a)
- flag=false
- set t=fso.opentextfile(a)
- do until t.atendofstream
- s=t.readline
- if s="bathome" then
- flag=true
- end if
- if flag=true then
- if len(s)<>0 then
- getstr=getstr & s & vbcrlf
- else
- exit do
- end if
- end if
- loop
- end function
复制代码
|