对于编码是ANSI的文本,一个英文字符占一个字节,一个汉字占两个字节,所以100K就是51200个汉字。最后得到的小文本一般小于100K,可自行调整- if WScript.Arguments.length=0 then msgbox "请把文本拖到脚本上" : wscript.quit
- Set fso = CreateObject("Scripting.FileSystemObject")
- set f = fso.GetFile(WScript.Arguments(0))
- set ts = f.OpenAsTextStream
- strText = ts.ReadAll
- fp = f.ParentFolder
- fn = left(f.Name,InStrRev(f.Name,".")-1)
- set f = nothing
- if not fso.FolderExists(fp&"\"&fn) then fso.CreateFolder fp&"\"&fn
-
- strtext=Replace(strtext, "。", "。///")
- strtext=Replace(strtext, "?", "?///")
- strtext=Replace(strtext, "!", "!///")
- strtext=Replace(strtext, ".", ".///")
- strtext=Replace(strtext, "!", "!///")
- strtext=Replace(strtext, "?", "?///")
- a=split(strtext,"///")
-
- i=0:j=0:k=1
-
- do while i<=UBound(a)
- j=j+len(a(i))
- if j<51200 then
- fso.OpenTextFile(fp&"\"&fn&"\"&fn&"-"&k&".txt",8,true).Write a(i)
- else
- j=0
- k=k+1
- fso.OpenTextFile(fp&"\"&fn&"\"&fn&"-"&k&".txt",8,true).Write a(i)
- end if
- i=i+1
- loop
复制代码
[ 本帖最后由 zqz0012005 于 2008-10-10 14:47 编辑 ] |