首页 > 编程 > VBScript > 正文

文本文件分割脚本(VBS)

2020-06-26 18:24:23
字体:
来源:转载
供稿:网友
在系统维护或者数据库维护是常常需要查看的日志文件,然为日志文件往往都比较大,甚至用记事本无法打开。
 
而Windows下没有一个现存的比较好用的分割工具,所以我用VBS做了一个文本文件的分割工具,和各位网友共享。脚本代码如下: 
复制代码代码如下:

Option Explicit 
'这个脚本只用来分割文本文件,脚本需要3个参数 
'参数列表 
'文件名 参数1 参数2 
'梦想工作室 www.mx111.com 
'示例 参数1 参数2 参数意义 
' S 5 等分为5个文件 
' E 1024 按照1024的大小分割文件 
' F 1024 取最前面的1024字节存为一个文件 
' L 1024 取最后面的1024字节存为一个文件 

Dim tf,sf,fname,souFile,desFolder ,sOption , sNum , FSO , fs, sfs 

If WScript.Arguments.Count < 3 Then 
WScript.Echo "参数有误!" 
WScript.Quit 
Else 
souFile = WScript.Arguments(0) 
sOption = WScript.Arguments(1) 
sNum = WScript.Arguments(2) 
End If 

Set FSO = CreateObject("Scripting.FileSystemObject") 
Set tf=FSO.GetFile(souFile) 
fs = tf.Size 
Set tf = fso.OpenTextFile(souFile, 1) 

Dim x 
Select Case sOption 
Case "S" 
sfs = Int ( fs / sNum ) 
for x=1 to sNum-1 
SaveSubFile "file_" & x &".txt", 0 ,sfs 
Next 
SaveSubFile "file_" & sNum &".txt", 0 , fs - sfs * (sNum-1) 
Case "E" 
sfs = sNum 
sNum = Int ( fs / sfs) + 1 
for x=1 to sNum-1 
SaveSubFile "file_" & x &".txt", 0 ,sfs 
Next 
SaveSubFile "file_" & sNum &".txt", 0 , fs - sfs * (sNum-1) 
Case "F" 
SaveSubFile "file_" & 0 &".txt", 0 , sNum 
Case "L" 
SaveSubFile "file_" & 0 &".txt", fs - sNum , sNum 
End Select 

tf.Close 

Sub SaveSubFile(s,b,l) 
Dim sfile,content 
WScript.Echo s & ":" & b &":" & l 
Set sfile = fso.CreateTextFile(s, TRUE) 
If b>0 Then 
tf.Skip(b) 
End If 
content = tf.Read(l) 
sfile.Write(content) 
sfile.Close 
End Sub 
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表