メェのボヤキ

ボヤいてます。NYSL。@mele。

久しぶりに

2005-09-06 | Weblog
久しぶりにおバカスクリプトを投稿してみたり。

zipファイル名のフォルダに解凍するスクリプト

http://mexe.at.infoseek.co.jp/tmp/47340_unzipFolderName.vbs

このスクリプトと同じフォルダに、undll.exe
unzip32.exeとリネームして置いておく。
zipファイルを渡すと、そのzipファイル名と同じファイル名でフォルダを作り、
そこへ解凍する。
時々unzipのDOSウィンドウが閉じないことがあるので、適宜ファイルがきちんと
解凍されているかどうか確認した方が宜しいかと思われます。

変な英語も適宜スルーされたし。

-----
' Extracting archive file to archive file name folder.
' NOTICE : undll.exe -> unzip32.exe


sWorkDir = "TmpDir~~" ' temporary directory name


Set oFs = CreateObject("Scripting.FileSystemObject")
Set oWs = CreateObject("WScript.Shell")

' check arguments
If WScript.Arguments.Count <1 Then
  MsgBox "This VBScript needs one ZIP archive file."
  WScript.Quit
Else
  sArg = WScript.Arguments(0)
  If LCase(oFs.GetExtensionName(sArg)) <> "zip" Then
MsgBox "This VBScript needs ZIP archive file." WScript.Quit End If End If sArgX = "unzip32.exe -x """ & sArg & """ """ & oFs.GetParentFolderName(WScript.ScriptFullName) & "" & sWorkDir & "" & oFs.GetBaseName(sArg) & """" ' change current directory oWs.CurrentDirectory = oFs.GetParentFolderName(WScript.ScriptFullName) ' check working directory If Not(oFs.FolderExists(sWorkDir)) Then oFs.CreateFolder(sWorkDir) If Not(oFs.FolderExists(sWorkDir & "" & oFs.GetBaseName(sArg))) Then oFs.CreateFolder(sWorkDir & "" & oFs.GetBaseName(sArg)) WScript.Sleep(300) ' Inflating archive Set oExec = oWs.Exec(sArgX) Do While oExec.Status = 0 WScript.Sleep(100) Loop MsgBox "All works are finished."

最新の画像もっと見る

コメントを投稿