VBScriptでZIPファイルを解凍する
ZIPファイルをスクリプトに直接ドロップして解凍する。
適当にファイル作って上をコピペ。拡張子を.vbsで保存。
'カレントにフォルダを作って解凍します'オブジェクトを作ります
set fso = WScript.CreateObject("Scripting.FileSystemObject")'とりあえず解凍する対象は一つだけにします。
If WScript.Arguments.Count < 1 Then
WScript.Echo("ファイルをドロップしてくだせぇ")
WScript.Quit
ElseIf WScript.Arguments.Count > 1 Then
WScript.Echo("1個にしてください・・・")
WScript.Quit
End If
File = WScript.Arguments(0)If LCase(fso.GetExtensionName(File)) <> "zip" Then
WScript.Echo("ZIP形式のみ解凍できます!")
WScript.Quit()
End If'フォルダの名前を決めます
ExtractFolder = fso.GetParentFolderName(File) & "\" & fso.GetBaseName(File)'なかったら作ります
If Not fso.FolderExists(ExtractFolder) Then
fso.CreateFolder(ExtractFolder)
End If'解凍!
With CreateObject("Shell.Application")
.NameSpace(ExtractFolder).CopyHere .NameSpace(File).Items
End With
できた.vbsファイルにZIPをドロップするとZIPと同名のフォルダが、
ZIPと同じ階層に作られその中にファイルが展開される。
参考
http://d.hatena.ne.jp/Fio/20080916/p1
Shell.Applicationは解凍時に一時ファイルを残すそうです。
Explorerは残さないようです。残さない場合のスクリプトは以下のページを参照してください。