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 :

Recuperation du repertoire courant et utilisation


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Recuperation du repertoire courant et utilisation
    Bonjour,
    je suis actuellement sur la conception d'un batch qui sera utilisé dans le menu contextuel des dossiers.
    Pour ce batch, je dois récuperer le nom du repertoire duquel je le lance.
    Si je lance mon batch à partir de c:\RepertoireTest\Test1 je sais recuperer "c:\RepertoireTest\Test1" mais je n'arrive pas à decouper juste le "Test1" car en dessous je voudrais creer en automatique Test1.doc par exemple.

    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "tokens=1 delims=\" %%i in ("%1") do echo %%i
    mais je ne sais que recuperer le n'ieme element mais pas le dernier.

    J'espère avoir été clair mais si c'est pas gagné .
    Merci

  2. #2
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Si je comprend bien tu ne veut récupérer que le non du répertoire ? pas le chemin complet ?
    Si c'est ca, essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "tokens=* delims=" %%i in ("%1") do echo %%~ni
    Ou même tou simplement ceci:

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Je viens d'essayer ce code mais ca ne fonctionne toujours pas.
    Pour etre plus général, je recherche un code qui puisse me donner le dernier element d'une liste avec des séparateurs.

    Par exemple:
    c-Documents-Test-TestV1-TestV1A renvoie TestV1A
    c-Documents renvoie Documents
    a-b-c-d-e renvoie e

    Ca parait tout bete mais j'y arrive pas

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Fonctionne trés bien, il ne récupére que le nom du répertoire, pas le chemin complet, si tu a par exemple:
    C:\dossier\rep\test
    Il récupére juste test

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Merci ca fonctionne bien, reste plus qu'a adapter ca à mon programme .
    Thank You

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    De rien

    Montre nous ce que tu en a fait aprés

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Donc voilà un joli petit batch qui crée un fichier à partir d'un modèle sur un réseau électronique et adapte le nom en fonction du répertoire cible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    cd "%1"
    rem on va dans le répertoire cible
    
    @echo off
    echo %~n1>Temp.txt
    rem Rep.txt est un fichier temporaire où on stocke le répertoire courant pour utiliser la boucle For /F
    
    FOR /F "tokens=1 delims=_" %%i in (Rep.txt) do copy x:\ModelesExcel\ModeleStats.xls %%i-Stats.xls
    rem on prend dans le nom du document la première partie délimitée par un _ et on copie le modèle avec le nom formé
    
    del Rep.txt
    rem on efface le fichier temporaire
    Si ca peut servir à quelqu'un

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/09/2006, 12h04
  2. Récupérer le répértoire courant
    Par Belegkarnil dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 19/12/2005, 05h55
  3. [Jar]Repertoire courant du programme
    Par djskyz dans le forum Général Java
    Réponses: 18
    Dernier message: 20/07/2004, 17h34
  4. [Système] Connaître le répertoire courant
    Par Kimael dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 15/07/2004, 17h30
  5. repertoire courant
    Par mobee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2002, 13h03

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