标题: [原创] VBS截取取文本文件10行 [打印本页]
作者: myzam 时间: 2011-3-6 11:15 标题: VBS截取取文本文件10行
前言:我为啥写这个脚本?
原因如下:我在网上下载txt小说,原来我是看小说,看够了,现在我是听小说。我是把下载的
小说用方正畅听转换为mp3来听。但是一部小说实在是太大了,转起来慢。于是我就要把小说分段成一
个又一个小的文本,而且要相互连续的。复制剪辑,复制剪辑,复制剪辑,点点点,累了。
就这样为了 简化这个重复的工作,就编了这个脚本。一般我是以300行为为一段。- '我从j盘的文件 "沙舞九天.txt"中截取前10行,并copy到桌面的文件14.txt中
- set fso=createobject("scripting.filesystemobject")
- set ofile=fso.opentextfile("j:\沙舞九天.txt",1)
- 'for i=1 to 10 '如果需要跳过前10行就把注释去掉
- 'ofile.skipline
- 'next
- for i=1 to 10 '截取10行
- t=ofile.readline
- j=j&t
- ofile.skipline
- next
- wscript.echo j
- ofile.close
- set ofile=fso.createtextfile("c:\documents and settings\administrator\桌面\14.txt")
- ofile.write(j)
- ofile.close
- if fso.fileexists("c:\documents and settings\administrator\桌面\14.txt") then
- wscript.echo "文件成功创建"
- end if
复制代码
下面给出图像界面版,就是hta(哈特版),文件必须保存为.hta .- <html style="background:buttonface">
- <head>
- <title>读取的文本时,跳过的行数是基数的倍数 作者:myzam 2011-3-6</title>
- <hta:application id="vbs" scroll="no" >
- </head>
- <body>
- <input name=button1 type=button value="运行" onclick="vbs:build"/><br/>
- <hr/>
- <label>输入源文件名</label><br/>
- <input name=text4 type=text value="铁血上甘岭"/><br/>
- <hr/>
- <label>输入源文件路径</label><br/>
- <input name=text5 type=text value="d:\" /><br/>
- <hr/>
- <label>输入截取的文件名,从数字一开始命名</label><br/>
- <input name=text1 type=text value="1"/><br/>
- <hr/>
- <label>输入要跳过的基数</label><br/>
- <input name=text2 type=text value="300"/><br/>
- <hr/>
- <label>读取的文本</label><br/>
- <input name=text3 type=text />
-
- <script language="vbscript">
- sub build
- n=text1.value
- m=text2.value
- p=text5.value&text4.value&".txt"
- fname=n&".txt"
- set fso=createobject("scripting.filesystemobject")
- set ofile=fso.opentextfile(p,1) ' 这是要读取的文本的位置
- on error resume next
- for i=1 to m*(n-1)
- ofile.skipline
- next
- for i=1 to m
- t=ofile.readline
- j=j&t
- next
- ofile.close
- set ofile=fso.createtextfile("c:\documents and settings\administrator\桌面\"&fname)
- ofile.write j
- text3.value= "第"&n&"次"&"读取成功"
- end sub
- </script>
- <br/>
- <hr/>
- <pre>
- 说明:本代码的作用是把一个小说顺次分解为若干个小的文本文件,注意是顺次。只能处理txt文件。<br/>
- 用法---输入源文件名,是指你本地磁盘存放的要分解的小说名。
- 输入源文件路径,是指你本地磁盘存放的要分解的小说的完整路径。
- 输入截取的文件名,是指你分解后的小说文件名,要求以数字1,2,3....命名。
- 输出的小说名字是1.txt,2.txt,3.txt...
- 输入要跳过的基数,是指你分解后的小说包含的行数。分解好的小说自动保存在
- 你的桌面上。</pre>
- </body>
- </html>
复制代码
本图片来自104空间
[ 本帖最后由 myzam 于 2011-3-7 21:51 编辑 ]
作者: Batcher 时间: 2011-3-27 23:12
GNU for Win32的split命令挺方便的
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |