当前位置 博文首页 > iPod文本分割器(VBS版)

    iPod文本分割器(VBS版)

    作者:admin 时间:2021-02-13 15:33

    因此暑假闲暇编写了这个简短精悍的脚本版的分割器。脚本版的最大的好处可以由使用者进行DIY。
    具体情况就不多说了,关于txt编码的问题可以参考,iPod文本分割器
    这里仅仅说明使用方法,将您需要分割的Txt文件直接拖放发到本脚本上就ok了。
    以下是脚本代码,直接复制后保存为vbs文件就可以了!
    Good Luck !

    复制代码 代码如下:

    '------------------------------------------------------------
    ' Description : Text division for iPod text reading.
    ' because of iPod can not display text length
    ' more than 4KB in each file, we have to split
    ' the bigger one.
    ' And iPod intrenal use Unicode, so this script
    ' can also tranfrom the character coding.
    ' Author : Guoyafeng@jspi.edu.cn
    ' Last Modified : 2008-8-31 11:05:13
    '------------------------------------------------------------
    Option Explicit
    Sub OpenDir(Dir)
    Dim WShell,CmdString
    Set WShell = CreateObject("WScript.Shell")
    CmdString = "Explorer.exe " & Dir
    WShell.Run CmdString,1,True
    End Sub
    Function FormatStrNum(iNum)
    Const Mode = "0000"
    Dim sNum
    sNum = CStr(iNum)
    FormatStrNum = Left(Mode,Len(Mode)-Len(sNum)) & sNum
    End Function
    Function IIf(test,a,b)
    If test = True Then IIf = a Else IIf = b
    End Function
    Function GetDragDropFile
    If WScript.Arguments.Count = 0 Then MsgBox "请把需要分割的Txt文件拖放到本脚本上!"
    WScript.Quit
    Else
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    If (fso.FileExists(WScript.Arguments(0))) Then
    GetDragDropFile = WScript.Arguments(0)
    Set fso = Nothing
    Else
    Set fso = Nothing
    MsgBox "无法找到文件" & WScript.Arguments(0)
    WScript.Quit
    End If
    End If
    End Function
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
    Const TristateTrue = -1
    Const TristateUseDefault=-2
    Const TristateFalse=0
    Dim ToWrite
    Dim Index
    Dim fso
    Dim src
    Dim dst
    Dim TextSize
    Dim MaxTextLength
    Dim SourceFile
    Dim DestinationFile
    Dim BaseName
    Dim OutFolderPath
    Dim IsUnicode
    Dim regEx,patrn
    '***************************************************************
    ' Splited text size .
    TextSize = 4 'KB
    IsUnicode = True
    '*****************************************************************
    MaxTextLength = 1024 * TextSize / 2 - 1
    patrn = "(\r\n\r\n)+|( +)"
    Set regEx = New RegExp
    regEx.Pattern = patrn
    regEx.IgnoreCase = True
    regEx.Global = True

    Set fso = CreateObject("Scripting.FileSystemObject")
    BaseName = fso.GetBaseName(GetDragDropFile)
    OutFolderPath = fso.BuildPath(fso.GetParentFolderName(GetDragDropFile),_
    BaseName)
    Set src = fso.OpenTextFile(GetDragDropFile, ForReading,False,_
    TristateUseDefault)
    If Not fso.FolderExists(OutFolderPath) Then
    fso.CreateFolder OutFolderPath
    End If
    Index = 1
    While(src.AtEndOfStream <> True)
    ToWrite = src.Read(MaxTextLength)
    DestinationFile = fso.BuildPath(OutFolderPath,BaseName & _
    FormatStrNum(Index) & ".txt")
    Set dst=fso.OpenTextFile(DestinationFile,ForWriting,True,IIf(IsUnicode,TristateTrue,TristateUseDefault))
    Dim SlimText
    SlimText = regEx.Replace(ToWrite,"")
    dst.Write SlimText
    dst.Close
    Set dst = Nothing
    Index = Index + 1
    Wend
    src.Close
    Set src = Nothing
    Set fso = Nothing
    Set regEx = Nothing
    OpenDir OutFolderPath

    js
下一篇:没有了