[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

来个vbs吧

对于编码是ANSI的文本,一个英文字符占一个字节,一个汉字占两个字节,所以100K就是51200个汉字。最后得到的小文本一般小于100K,可自行调整
  1. if WScript.Arguments.length=0 then msgbox "请把文本拖到脚本上" : wscript.quit
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. set f = fso.GetFile(WScript.Arguments(0))
  4. set ts = f.OpenAsTextStream
  5. strText = ts.ReadAll
  6. fp = f.ParentFolder
  7. fn = left(f.Name,InStrRev(f.Name,".")-1)
  8. set f = nothing
  9. if not fso.FolderExists(fp&"\"&fn) then fso.CreateFolder fp&"\"&fn
  10. strtext=Replace(strtext, "。", "。///")
  11. strtext=Replace(strtext, "?", "?///")
  12. strtext=Replace(strtext, "!", "!///")
  13. strtext=Replace(strtext, ".", ".///")
  14. strtext=Replace(strtext, "!", "!///")
  15. strtext=Replace(strtext, "?", "?///")
  16. a=split(strtext,"///")
  17. i=0:j=0:k=1
  18. do while i<=UBound(a)
  19.     j=j+len(a(i))
  20.     if j<51200 then
  21.         fso.OpenTextFile(fp&"\"&fn&"\"&fn&"-"&k&".txt",8,true).Write a(i)
  22.     else
  23.         j=0
  24.         k=k+1
  25.         fso.OpenTextFile(fp&"\"&fn&"\"&fn&"-"&k&".txt",8,true).Write a(i)
  26.     end if
  27.     i=i+1
  28. loop
复制代码

[ 本帖最后由 zqz0012005 于 2008-10-10 14:47 编辑 ]
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

我想过按自然段落来切割,但考虑到不少txt小说根本就不分段,所以还是按标点切割
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表