複数のテキストファイルを1つのファイルに結合したいことがあったとき、このスクリプトが役に立ちます。
下記ソースを「FileJoin.vbs」の名前で保存して、結合したいテキストファイルをドラッグ&ドロップします。
その後、「結合が完了しました。」メッセージが表示されます。
ドラックしたファイルが保存してあったフォルダに、「+ファイル名.txt」の名前で、結合したファイルが生成されます。
FileJoin.vbs
Dim pFS, pTemp, pWshShell
Dim sTemp(100,2)
Dim rFS, rTemp, rWshShell
Dim wFS, wTemp, wWshShell
Const ForReading = 1
Const ForWriting = 2
strFine = “結合が完了しました。”
strCancel = “キャンセルしました。”
Set objArgs = WScript.Arguments
‘ドラッグドロップファイル名ループ(複数ファイルに対応)
For I = 0 to objArgs.Count – 1
‘読み込みオブジェクト作成
Set rWshShell = WScript.CreateObject(“WScript.Shell”)
Set rFS = WScript.CreateObject(“Scripting.FileSystemObject”)
rTemp = objArgs(I)
Set rFile = rFS.GetFile(rTemp)
Set rbjScriptFile = rFS.OpenTextFile(rTemp, ForReading, True)
If I = 0 Then
strMakeName = InputBox(rFile.name & vbCR & vbCR & “の結合先フォルダ”, rFile.ParentFolder, rFile.ParentFolder)
If strMakeName = “” Then
strMakeName = rFile.ParentFolder
End If
‘書き込みオブジェクト作成
Set wWshShell = WScript.CreateObject(“WScript.Shell”)
Set wFS = WScript.CreateObject(“Scripting.FileSystemObject”)
wTemp = strMakeName & “+” & rFile.name
Set wbjScriptFile = wFS.OpenTextFile(wTemp, ForWriting, True)
End If
‘ファイルの読み込み
Do While rbjScriptFile.AtEndOfStream <> TRUE
strCurrentLine = rbjScriptFile.ReadLine
If Len(strCurrentLine) > 3 Then
wbjScriptFile.WriteLine strCurrentLine
End If
Loop
rbjScriptFile.Close
Next
wbjScriptFile.Close
WScript.Echo strFine
|