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

Scripts/Batch Discussion :

Mon script DOS du jour : Formatage automatique de mon disque externe


Sujet :

Scripts/Batch

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Mon script DOS du jour : Formatage automatique de mon disque externe
    Bonjour à vous,

    Je suis tout neuf ici et c'est mon premier post.
    Bon DOS c'est vieux, c'est moche, mais alors moi j'aime ça ! Il existe mieux, plus performant et tout et tout je le sais.

    Bon cet après midi, j'ai eu besoin de formater automatiquement mon disque dur de externe avant chaque sauvegarde.

    J'ai eu une difficulté : La commande de formatage (Win2K3) me demandais le nom de lecteur (WD Passport pour le coup).
    J'ai trouvé une solution mais je pense avoir sorti le porte-avion pour assomer une simple mouche mais ça fonctionne.

    Si vous avez des idées pour l'améliorer, je prend.
    Bon passons au code en lui-même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    :Debut
    @echo off
    DIR e:>>%temp%\hdname.txt
    FOR /F "tokens=8,9" %%i, in (%temp%\hdname.txt) do (
    @echo %%i %%j>%temp%\hdname.txt
    GOTO RAOUL
    )
    
    :RAOUL
    echo o>%temp%\yes.txt
    echo WD Passport>>%temp%\yes.txt
    copy %temp%\hdname.txt+%temp%\yes.txt %temp%\answer.txt
    
    :Format
    TYPE %temp%\answer.txt|format e: /q /x
    
    :SupprTemp
    DELETE %temp%\hdname.txt
    DELETE yes.txt
    DELETE answer.txt
    Le plus dur a été de comprendre le fonctionnement de la commande FOR en dos mais surtout de trouver comment ne récupérer que l'info que je voulais : le nom du lecteur...

    Bon tout est dis je pense...

    Bonne soirée
    Tonio

  2. #2
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonsoir,
    Pour la Xième fois, le MS-DOS est un OS (vieux et dépassé) alors que le script que tu nous fournis est interpreté par cmd.exe est un shell non graphique (interpreteur de ligne de commande).

    bref MS-DOS != cmd.exe

    Ensuite, je ne comprend pas du tout ton script, j'avoue il me perturbe.
    Si ton but est de formater ton lecteur externe et de lui rendre son nom, tout est dans la commande format.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format x: /V:"WD Passport"
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je suis tout a fait d'accord sur le principe puisque c'est le résultat que je sort.
    Par contre, étant prestataire en informatique, je peux être amené à le réutiliser pour un autre client, avec des disques ayant un nom différent ou remplacer le disque de sauvegarde sans avoir à penser a modifier le nom du disque.
    Mais je viens de m'apercevoir que j'ai oublié de récupérer la variable à la dernière étape.
    Le but du script était de récupérer le nom du lecteur logique... Si jamais il éxiste une commande directe je suis preneur...
    Merci de ta remarque

  4. #4
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Bonjour,
    Deux solutions, la première est de donner obligatoirement un paramètre au script qui est le nom du volume (ça force à ne pas "oublier").
    Seconde solution, utiliser la commande vol avec la commande findstr et diverse redirection vers des fichiers (ton cas actuel).
    Troisième solution, passé par un langage gérant l'API windows.

    Amicalement,
    sloshy
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

Discussions similaires

  1. mon script m insère dans ma BDD la date du jour
    Par jasminrose dans le forum Langage
    Réponses: 4
    Dernier message: 09/07/2013, 14h18
  2. Réponses: 4
    Dernier message: 02/08/2011, 17h01
  3. Script de mise à jour automatique.
    Par Kabato dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 20/05/2010, 13h53
  4. Actualisations automatiques des liens dans mon script
    Par Geekolin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/01/2008, 14h01
  5. Script DOS saisie automatique password
    Par bonito6 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 17/07/2007, 09h24

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