IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Compresser un répertoire ou un fichier


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Compresser un répertoire ou un fichier
    J'en suis au même point que dans cette discussion et le .bat ne me satisfait pas.
    Débuter en Vbs est ardu et toute aide est bienvenue.
    Je cherche à m'affranchir du mappage relatif et donc du Net Use, mais aussi des noms longs ingérables en DOS.
    Merci d'avance de vos réponses : RTFM : j'ai déja donné
    Phil

    Citation Envoyé par Megaxel Voir le message
    Pourquoi veux-tu faire un script VBS?
    Winzip, ou Rar, ou Iceows ne s'utilise pas en ligne de commande?
    Tu n'as qu'à faire ça avec un .bat, non?

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Plus tu pédales moins vite, moins t'avances plus vite.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon voici le type de compression que tu peux faire avec FSO :
    http://activexperts.com/activmonitor...ingFolders.htm

    Peut être que cela ne correspond pas à ce que tu veux faire ?
    D'ailleurs que veux tu faire ?
    Compresser en rar, zip, autre ?
    En général pour faire de la compression, on la redévelope sois même, ou on utilise une librairie.
    Disons que le script te permettra de faire uniquement ce que sais faire le système d'exploitation.
    Windows XP sais compresser et decompresser des Zip en natif, mais pas autre chose.
    Peut être alors que certains objets WMI (Windows Management Instrumentation) pourraient le faire, il faudrait chercher.
    Mais si tu veux décompresser des .rar par exemples, va falloir trouvé une libririe, ou redev l'algo, par ce que tu ne trouveras rien pour le faire en WSH (Windows Scripting Host), WMI, ou autre ...
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par RadPAT Voir le message
    Ha ouais, on peut vraiment créer un Zip, et copier dedans un répertoire, comme si le zip n'était qu'un répertoire en fait ?
    Je me demande juste si cela compresse vraiment ou si cela stocke juste dans un zip.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par ced600 Voir le message
    Je me demande juste si cela compresse vraiment ou si cela stocke juste dans un zip.
    Tu m'as collé une doute sur ce coup là
    Mais après verification ca compresse effectivement, sur mon poste je passe d'un répertoire de 23MO à un ZIP de 7,7 Mo

    A++
    Plus tu pédales moins vite, moins t'avances plus vite.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Ok pas mal alors ce petit bout de script.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 297
    Points : 3 551
    Points
    3 551
    Par défaut
    si si, ça compresse bien mais c'est un hack scabreux puisqu'il fonctionne de façon asynchrone d'où la nécessité de prévoir des wscript.sleep au pifomètre
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par omen999 Voir le message
    si si, ça compresse bien mais c'est un hack scabreux puisqu'il fonctionne de façon asynchrone d'où la nécessité de prévoir des wscript.sleep au pifomètre
    Hum ... Il doit être possible de faire une fonction qui évite cela :
    Elle tente le déplacement du fichier en cours de Zip et normalement si le zip n'est pas fini, le script ne devrait pas pouvoir faire le déplacement et recevoir une erreur.
    Avec un On Error Resume Next dans la fonction on test l'objet Err, le remet à zéro et renvois true ou false en fonction de l'ancienne valeur.

    Ensuite tu fais une autre fonction WaitForZip qui se charge de faire une simple boucle qui appelle la première fonction et tests sa valeur de retour.

    Si la copie de fichier se fait quand même alors que le fichier est en cours de zippage, tu fais la même chose que ce que j'ai dit mais en testant l'augmentation de la taille du fichier tous les x temps.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 297
    Points : 3 551
    Points
    3 551
    Par défaut
    Hum ... Il doit être possible de faire une fonction qui évite cela :
    non
    Ensuite tu fais une autre fonction WaitForZip qui se charge de faire une simple boucle qui appelle la première fonction et tests sa valeur de retour
    ça ne change rien puisqu'il faudra bien insérer dans la boucle un sleep sauf à mettre le cpu à 100%
    mais c'est vrai que ça rendrait l'algo utilisable même sur une machine peu puissante ou déjà soumise à une forte charge
    on attend ta contrib vbs...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème de terminaison du script
    Merci à vous :

    Le problème de ce script est qu'il reste actif après la compression du répertoire.
    Je n'ai pas trouvé comment faire pour terminer proprement son exécution.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème de tâche active résolue
    Une erreur dans le nom d'une variable m'a permis de résoudre mon problème.

    Le processus s'arrête correctement maintenant.

    Le thread pourrait éventuellement être continué par l'utilisation simple de l'utilitaire de winzip en Vbscript.

    Merci encore à tous

  12. #12
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    ça ne change rien puisqu'il faudra bien insérer dans la boucle un sleep sauf à mettre le cpu à 100%
    mais c'est vrai que ça rendrait l'algo utilisable même sur une machine peu puissante ou déjà soumise à une forte charge
    on attend ta contrib vbs...
    Oui tu met un sleep mais à 100 millisecondes.
    Ainsi tu es assez réactif et tu ne prends pas trop de ressources.

    C'est bien mieux qu'un sleep de 5 minutes car on ne sait pas combien de temps va prendre la compression
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compresser tout un répertoire dans un fichier ZIP..
    Par koma777 dans le forum Langage
    Réponses: 1
    Dernier message: 18/05/2010, 15h09
  2. Réponses: 2
    Dernier message: 10/10/2006, 19h42
  3. Comment copier un répertoire et ses fichiers?
    Par Mickey.jet dans le forum Delphi
    Réponses: 4
    Dernier message: 08/07/2006, 12h35
  4. [VBS] Compresser un répertoire ou un fichier en vbs
    Par Edoxituz dans le forum VBScript
    Réponses: 2
    Dernier message: 28/02/2006, 11h17
  5. [JFilechooser] selectionner un répertoire OU un fichier
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 05/08/2005, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo