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 :

Extraction données (chemin et lettre de lecteurs réseaux) dans .txt


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut Extraction données (chemin et lettre de lecteurs réseaux) dans .txt
    Bonjour,
    Je désire faire un batch permettant de récupérer les lecteurs réseaux (lettres et chemins) afin de les exporter vers un nouveau poste. J'ai donc utilisé net use>>c:\LecteursReseaux.txt pour transférer les informations dans un fichier texte. J'obtiens donc quelque chose du genre :

    Les nouvelles connexions seront m‚moris‚es.


    tat Local Distant R‚seau

    -------------------------------------------------------------------------------
    OK Y: \\toto\pouet Microsoft Windows Network
    OK Z: \\ordi2\documents Microsoft Windows Network
    La commande s'est termin‚e correctement.


    J'aimerais savoir comment je peux faire pour avoir la lettre ainsi que le chemin dans une variable. Par exemple :
    var1==Y: \\toto\pouet
    var2==Z: \\ordi2\documents

    Mon but est d'utiliser :
    net use %var1%
    net use %var2%


    Autre difficulté : le nombre de lecteurs réseaux varie ^^ Donc pour cette dernière difficulté, je pensais entrer une variable genre nbrlecteur où j'aurai au préalable inscrit le nombre de lecteurs réseaux...

    Je vous remercie enoooooormement d'avance pour vos réponses !

  2. #2
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    En jonglant avec" FOR" ça doit être assez accessible, ce n'est pas "LA" méthode mais une parmi tant d'autres, certainement que d'autres membres du forum trouveront mieux... mais ça peut déjà être une première base de travail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2" %%a in ('findstr /i /c:OK "C:\LecteursReseaux.txt"') do set net_drive=%%a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2 delims=:" %%b in ('findstr /i /c:OK "C:\LecteursReseaux.txt"') do set net_path=%%b
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%c in ('findstr /i /c:OK "C:\LecteursReseaux.txt" ^| find /c "OK"') do set net_qty=%%c
    J'ai pas testé en "réel" mais ça doit être utilisable plus ou moins tel quel

    Enjoy

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    Merci Plopi,
    Mais j'ai un petit problème avec la deuxième commande. Elle prends bien le chemin réseau, mais elle prends aussi le "Microsoft Windows Network".
    J'ai beau lire toutes les explication de FOR... Je ne comprends pas comment mettre une délimitation de fin... J'ai cru comprendre que le tab ou espace était de base une délimitation... Sauf que là la commande me prends le "Microsoft Windows Network" qui est après plein d'éspaces...

  4. #4
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    je pense qu'il faut juste jouer avec"delims" dans ce cas là le supprimer, genre un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=3" %%b in ('findstr /i /c:OK "C:\LecteursReseaux.txt"') do set net_path=%%b

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    Youhou
    ça marche ! Par contre... Je ne comprends pas pourquoi ^^... Enfait, je n'ai pas très bien compris à quoi servait le token Puis-je abuser et te demander de m'éxpliquer ?
    Maintenant, il faut que je trouve comment faire pour passer les lignes déjà prises... Il y a une option pour le faire ? Parce que toutes les fins de lignes il y a le Microsoft Windows Network... Du coup je ne peux pas m'en servir comme pointeur de fin...

    EDIT : J'ai l'impression qu'en fait, la recherche ne prends que la dernière ligne...

  6. #6
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    je peux essayer mais je suis vraiment pas un spécialiste...

    Citation Envoyé par ouzmoutous
    Enfait, je n'ai pas très bien compris à quoi servait le token
    C'est plus ou moins le "numéro de la colonne" dans la ligne présente dans le shell ayant pour délimiteur par défaut les espaces et/ou les tabulation (tu les as évoqués lors d'un post précédent) si tu veux un autre caractère pour délimiter tu utilise "delims=TonDélimiteur" enfin je crois....

    Citation Envoyé par ouzmoutous
    Maintenant, il faut que je trouve comment faire pour passer les lignes déjà prises.
    En fait elles sont traitées (c'est le but de la commande FOR) exécuter plusieurs fois la même commande pour une variable donnée...

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

Discussions similaires

  1. Chemin vers clef USB autrement que par lettre de lecteur (Id ?)
    Par zax-tfh dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/03/2009, 15h16
  2. requette qui me donne la premiere lettre d'1 colonne?
    Par mounir_e dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/12/2004, 18h49
  3. [C#] Détecter la lettre du lecteur CD-ROM
    Par patvdb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/05/2004, 11h44
  4. Lettre Drive lecteur de CDRom
    Par titicurio dans le forum C++Builder
    Réponses: 4
    Dernier message: 18/09/2003, 13h44
  5. [Lecteur] Lettre du lecteur de CD
    Par petit scarabée dans le forum Installation, Déploiement et Sécurité
    Réponses: 6
    Dernier message: 05/09/2002, 18h47

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