내가 Windows XP에서 파일의 압축을 (그것은 그런데, 배치 파일에 의해 호출되는 것) 다음 스크립트를 사용하려고 해요 :VBScript를 상대 경로
strZipFile ="C:\test.zip" 'name of zip file
outFolder = "C:\" 'destination folder of unzipped files
Set objShell = CreateObject("Shell.Application")
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions
문제는 내가 사용하려는 경우입니다 그것은 내가 zip 파일의 전체 경로를 알지 못할 것입니다, 내가 아는 것은 VBScript와 같은 폴더에있을 것입니다. 그래서 그것을 염두에두고, 그것을 호출 할 수 있습니까? 상대 경로? 예 : 물론 내가 그 것 그 라인을 따라 뭔가를 의미하므로, (그것은 오류 " 'objShell.NameSpace (...)'필요한 개체"제공)하지만이 예제는 작동하지 않습니다
strZipFile ="test.zip"
작업.
>> p = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
>>
>> WScript.Echo p
>>
M:\bin
업데이트 WRT 키릴의 코멘트 :
Option Explicit
Class cX
Private Sub Class_Initialize()
WScript.Echo "Class_Initialize"
End Sub
Private Sub Class_Terminate()
WScript.Echo "Class_Terminate"
End Sub
Public Function f()
f = "qed"
End Function
End Class
WScript.Echo 1
Dim f : f = (New cX).f()
WScript.Echo 2
WScript.Echo f
출력 : 대답 "예"에 대한
증거
당신은 내 문제를 해결, 감사합니다! – ShizukaSM
FSO 개체는 범위를 벗어나므로 즉시 처리됩니까? – Kiril
@Kiril - 예, 업데이트를 참조하십시오. –