文本文件分割腳本(VBS)

字號:


    在系統(tǒng)維護或者數(shù)據(jù)庫維護是常常需要查看的日志文件,然為日志文件往往都比較大,甚至用記事本無法打開。
    而Windows下沒有一個現(xiàn)存的比較好用的分割工具,所以我用VBS做了一個文本文件的分割工具,和各位網(wǎng)友共享。腳本代碼如下:
    代碼如下:
    Option Explicit
    '這個腳本只用來分割文本文件,腳本需要3個參數(shù)
    '參數(shù)列表
    '文件名 參數(shù)1 參數(shù)2
    '夢想工作室 www.mx111.com
    '示例 參數(shù)1 參數(shù)2 參數(shù)意義
    ' S 5 等分為5個文件
    ' E 1024 按照1024的大小分割文件
    ' F 1024 取最前面的1024字節(jié)存為一個文件
    ' L 1024 取最后面的1024字節(jié)存為一個文件
    Dim tf,sf,fname,souFile,desFolder ,sOption , sNum , FSO , fs, sfs
    If WScript.Arguments.Count < 3 Then
    WScript.Echo "參數(shù)有誤!"
    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