Petit script VBS pour dézipper sous Win 7
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour ma sœur, j'ai voulu faire un petit Script sous VBS afin de procéder directement au dézippage automatique d'une application dont les mises à jour sont fréquentes car elle (ma sœur) est comme une poule devant un clavier d'ordinateur.
Elle sais juste télécharger la mise à jour et après c'est, pour elle, mission impossible.
Voici le script que j'ai réussi à pondre (car pour moi, c'est pas évident non plus) :
Donc rien de bien compliqué, pas de déclaration de variable, ni de procédure à faire.
Je l'ai appelé "truc.vbs". Sur mon ordinateur (Windows 10) il marche très bien sans rien ajouter d'autre et en faisant un double clic dessus.
Quand je l'ai installer sur le sien (windows 7), il ne fonctionne plus et me met une erreur ligne 1 caractère 1.
LeDepart = "D:\Downloads" 'Le dossier (téléchargement) qui reçoit le fichier téléchargé LArrive = "C:\Captvty" 'Le dossier où doit s'éffectuer le dézippage Set objFSO = CreateObject("Scripting.FileSystemObject") 'Le FSO Set objFolder = objFSO.GetFolder(LeDepart) 'Le répertoire de travail Set colFiles = objFolder.Files 'Les fichiers de travail For Each objFile in colFiles 'Pour chaque fichier de l'ensemble des fichiers à scruter 'Si on en trouve un qui contient les mots captvty et .zip if instr(objFile.Name,"captvty") <> 0 AND instr(objFile.Name,".zip") <> 0 then LeFichier = objFile.Name 'On copie son nom entier dans "LeFichier" Existe = 1 'On met un 1 dans "Existe" comme ça on saura qu'on l'as trouvé 'Dézippe le fichier DossierZip =LeDepart & "\" & LeFichier 'Adresse complète du fichier a dézipper DossierDezip = LArrive 'Répertoire où le dézippage doit avoir lieu Set FSOWind = CreateObject("Shell.Application") 'FSO spécial windows 'C'est l'opération de dézippage avec l'option "remplacer" FSOWind.Namespace(DossierDezip).CopyHere FSOWind.Namespace(DossierZip).Items, 16 'Set osa = Nothing 'Détruie le fichier zip objFSO.DeleteFile (LeDepart & "\" & LeFichier) exit for 'Sort de la boucle "Each for" car le fichier a été trouvé et travaillé end if Next 'Informe l'utilisateur qu'aucun fichier "captvty" n'a été trouvé if Existe <> 1 then msgbox "Il n'y a pas de fichier CapTVty dans le dossier de telechargement"
J'ai essayé en mettant "option explicite" et en déclarant les variables mais rien à faire.
Dois-je installer un truc sur son appareil ou bien ajouter des lignes de commandes (lesquelles ?), enfin, voilà pourquoi je cherche de l'aide.
Merci d'avance, Marc
Windows / Firefox 102.0
- Petit script VBS pour dézipper sous Win 7
- Photofiltre 7 - Télécharger - Retouche d'image
- Clé windows 7 - Guide
- Dézipper un fichier - Guide
- Script vidéo youtube - Guide
- Vbs windows - Accueil - Optimisation
6 réponses
bonjour, quelle erreur?
Cela donne quoi avec un script simple, genre
msgbox "bonjour"
Bonjour
message corrigé par l'ajout de la coloration syntaxique, voir ici pour tes prochains messages
Holala, je suis pas sérieux.
Je m'excuse et te remercie Whismeri
A yg_be
msgbox "bonjour"
Oui, ça cela fonctionne et l'erreur c'est :
ligne 1 carac 1
Caractère incorrect
Code 800A0408
Erreur de compilation Microsoft VBScript
Pour rappelle : ceci avec Windows 7
Merci pour votre (ton) 1er engagement - Marc
J'y ai bien pensé mais ce n'est pas ça, je pense plutôt à une configuration win 7 qui ne veut pas travailler avec VBS, il me faut peut-être installer un truc mais je ne trouve pas quoi. Cela doit être un truc que j'ai dû mettre sur mon Win 10 ou peut-être qui est installé implicitement.
Étant donnée que j'habite très loin de chez elle (Moi Hanovre elle Angoulême), je voudrais la dépanner très vite car je ne suis que de passage.
Une question. Ne peut on pas faire ça avec un fichier bath ? Mais le savoir et le temps me manque.
On a un dossier de départ, le download et un dossier où il faut le déplacer et le dézipper avec l'option remplacer et puis l'effacer.
Il faut juste vérifier que le fichier dans le download contient les mots Captvty et .zip avant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
Voilà un script .bat qui correspond à ton besoin :
@echo off
setlocal enableextensions disabledelayedexpansion
chcp 28591 >nul
:: -------------------------------------------
:: on définit les variables
:: -------------------------------------------
set "source=D:\Downloads"
set "destination=C:\Captvty"
:: -------------------------------------------------
:: on ajoute 7-Zip à la variable %PATH%
:: -------------------------------------------------
echo %PATH% | findstr "7-Zip" || set "PATH=%ProgramFiles%\7-Zip;%PATH%"
:: -------------------------------------------------
:: on décompresse l'archive dans le dossier voulu
:: -------------------------------------------------
cd /d "%source%" || exit /b 1
for /f "delims=" %%A in ('2^>nul dir /b /od captvty*.zip') do (
7z x -y -o"%destination%" "%%~fA"
del /f /s /q "%%~fA"
)
:: ---------------------------------------------------
:: on quitte le script
:: ---------------------------------------------------
exit /b 0
Avant de pouvoir utiliser le script, il faudra juste installer 7-zip disponible ici :
Bon ben je vais essayer ça après avoir installé 7-zip sur la machine de ma sœur.
Une question mais c'est juste pour me coucher moins bête (t’inquiète il me restera encore du chemin à faire)
Que signifie :
chcp 28591 >nul
Et surtout merci d'avance.
C'est pour définir l'encodage de caractères dans la console :
http://gillot55.free.fr/Articles/2015-03-12_Les_pages_de_codes_(ASCII_Unicode_UTF-8_etc).pdf
-
chcp 850 => DOS Latin 1
chcp 1252 => Windows-1252 (West European Latin)
chcp 28591 => ISO-8859-1
chcp 65001 => UTF-8