文本文件分割腳本(VBS)
更新時(shí)間:2010年11月28日 20:49:00 作者:
在系統(tǒng)維護(hù)或者數(shù)據(jù)庫(kù)維護(hù)是常常需要查看的日志文件,然為日志文件往往都比較大,甚至用記事本無(wú)法打開(kāi)。
而Windows下沒(méi)有一個(gè)現(xiàn)存的比較好用的分割工具,所以我用VBS做了一個(gè)文本文件的分割工具,和各位網(wǎng)友共享。腳本代碼如下:
Option Explicit
'這個(gè)腳本只用來(lái)分割文本文件,腳本需要3個(gè)參數(shù)
'參數(shù)列表
'文件名 參數(shù)1 參數(shù)2
'夢(mèng)想工作室 www.mx111.com
'示例 參數(shù)1 參數(shù)2 參數(shù)意義
' S 5 等分為5個(gè)文件
' E 1024 按照1024的大小分割文件
' F 1024 取最前面的1024字節(jié)存為一個(gè)文件
' L 1024 取最后面的1024字節(jié)存為一個(gè)文件
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
復(fù)制代碼 代碼如下:
Option Explicit
'這個(gè)腳本只用來(lái)分割文本文件,腳本需要3個(gè)參數(shù)
'參數(shù)列表
'文件名 參數(shù)1 參數(shù)2
'夢(mèng)想工作室 www.mx111.com
'示例 參數(shù)1 參數(shù)2 參數(shù)意義
' S 5 等分為5個(gè)文件
' E 1024 按照1024的大小分割文件
' F 1024 取最前面的1024字節(jié)存為一個(gè)文件
' L 1024 取最后面的1024字節(jié)存為一個(gè)文件
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
相關(guān)文章
查看或修改Windows系列系統(tǒng)的序列號(hào)的vbs
查看或修改Windows系列系統(tǒng)的序列號(hào)(包括:2000,xp,2003),支持命令行2008-06-06
輸入mdb數(shù)據(jù)庫(kù)即可將打包的mdb文件解包
2008-01-01
VBS教程:VBscript語(yǔ)句-Function 語(yǔ)句
VBS教程:VBscript語(yǔ)句-Function 語(yǔ)句...2006-11-11
VBS教程:正則表達(dá)式簡(jiǎn)介 -正則表達(dá)式語(yǔ)法
VBS教程:正則表達(dá)式簡(jiǎn)介 -正則表達(dá)式語(yǔ)法...2006-11-11

