2009-05-26 7 views
10

Je veux décompresser un fichier .zip en utilisant VBScript, seulement c'est toujours un nouvel ordinateur sans applications externes. Maintenant, je sais que Windows XP et 2003 ont une option de dossier .zip interne, donc je suppose que je peux l'utiliser via VBScript afin d'extraire le fichier.Comment décompresser un fichier dans VBScript en utilisant les options internes de Windows XP dans

Comment faire?

J'ai essayé:

Set objShell = CreateObject("Shell.Application") 

Set SrcFldr = objShell.NameSpace(fileName) 
Set DestFldr = objShell.NameSpace(appDir) 
DestFldr.CopyHere(SrcFldr) 

Ce qui ne fonctionne pas. Quel pourrait être le problème?

+0

Jetez un oeil à la 3e entrée sur place (http://www.robvanderwoude.com/vbstech_files_zip.php#CopyHereUNZIP) [Rob van der Woude de]. – bugmagnet

+0

check [this] (http://stackoverflow.com/questions/28043589/) – npocmaka

Répondre

26

Définissez simplement ZipFile = l'emplacement du fichier zip et ExtractTo = à l'emplacement où le fichier zip doit être extrait.

'The location of the zip file. 
ZipFile="C:\Test.Zip" 
'The folder the contents should be extracted to. 
ExtractTo="C:\Test\" 

'If the extraction location does not exist create it. 
Set fso = CreateObject("Scripting.FileSystemObject") 
If NOT fso.FolderExists(ExtractTo) Then 
    fso.CreateFolder(ExtractTo) 
End If 

'Extract the contants of the zip file. 
set objShell = CreateObject("Shell.Application") 
set FilesInZip=objShell.NameSpace(ZipFile).items 
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip) 
Set fso = Nothing 
Set objShell = Nothing 
+2

Lorsque vous écrivez la même chose dans JScript, vous devez prendre soin d'échapper les barres obliques inverses ("\\"). Celui-là m'a donné un gros mal de tête. –

+0

Obtention d'une erreur en tant qu'objet Obligatoire. "set FilesInZip = objShell.NameSpace (ZipFile) .items". Quelqu'un peut-il m'aider sur ce –

Questions connexes