Petit script VBS pour dézipper sous Win 7

Fermé
marcocham Messages postés 12 Date d'inscription jeudi 1 juillet 2021 Statut Membre Dernière intervention 25 juillet 2022 - Modifié le 25 juil. 2022 à 17:58
yg_be Messages postés 23338 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 novembre 2024 - 26 juil. 2022 à 00:08

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

A voir également:

6 réponses

yg_be Messages postés 23338 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 novembre 2024 Ambassadeur 1 551
25 juil. 2022 à 17:45

bonjour, quelle erreur?

Cela donne quoi avec un script simple, genre

msgbox "bonjour"
0
Utilisateur anonyme
25 juil. 2022 à 18:01

Bonjour 

message corrigé par l'ajout de la coloration syntaxique, voir ici pour tes prochains messages 


0
marcocham Messages postés 12 Date d'inscription jeudi 1 juillet 2021 Statut Membre Dernière intervention 25 juillet 2022
Modifié le 25 juil. 2022 à 20:25

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

0
yg_be Messages postés 23338 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 novembre 2024 1 551
Modifié le 25 juil. 2022 à 20:09

peut-être simplement un problème avec l'encodage des caractères dans le fichier?
moi j'essaerais de retaper les caractères de la première ligne, voir ce que cela donne.

0
marcocham Messages postés 12 Date d'inscription jeudi 1 juillet 2021 Statut Membre Dernière intervention 25 juillet 2022
25 juil. 2022 à 20:54

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.

0
yg_be Messages postés 23338 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 novembre 2024 1 551
26 juil. 2022 à 00:08

Le fichier avec msgbox, c'est aussi du vbs.  Et cela fonctionne, si j'ai bien lu.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
barnabe0057 Messages postés 14452 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 3 août 2024 4 917
Modifié le 25 juil. 2022 à 22:26

Bonjour,

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 :

https://www.7-zip.fr/


0
marcocham Messages postés 12 Date d'inscription jeudi 1 juillet 2021 Statut Membre Dernière intervention 25 juillet 2022
25 juil. 2022 à 23:16

barnabe0057

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.

0
barnabe0057 Messages postés 14452 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 3 août 2024 4 917
Modifié le 25 juil. 2022 à 23:45

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

0