VBSで圧縮ツール作ってみた
Option Explicit
dim objFSO, objFile, objShell, InputFile, ZipFile, hdrary, strbuf, ZipItemCount, i
if WScript.Arguments.Count < 2 then
WScript.Echo "Usage: CScript.exe CompZip.VBS ZIPFile InputFiles..."
WScript.Quit
end if
ZipFile=WScript.Arguments.Item(0)
' Zipファイル新規作成
hdrary = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 'zipファイルのヘッダ情報
For i = 0 To UBound(hdrary)
strbuf = strbuf & Chr(hdrary(i))
Next
' ファイル新規作成(既存ファイルは上書きされる)
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(ZipFile, True)
objFile.Write(strbuf)
objFile.Close
Set objFile = Nothing
Set objFSO = Nothing
' 新規作成したZipファイルに、圧縮元ファイルを追加
Set objShell = CreateObject("Shell.Application")
Set objFile = objShell.NameSpace(ZipFile)
ZipItemCount = objFile.Items().Count
for i = 1 to WScript.Arguments.Count - 1
InputFile = WScript.Arguments.Item(i)
objFile.CopyHere(InputFile)
' 追加完了待ち
Do While ZipItemCount = objFile.Items().count
WScript.Sleep(250)
Loop
ZipItemCount = ZipItemCount + 1
next
Set objFile = Nothing
Set objShell = Nothing
このサイトに掲載のスクリプト・手順など全ての情報については、一切の保証が無いものとしてご利用下さい。PCの不具合、動作、データの破損などについて責任を負うことはできません。あくまでも自己責任となります。