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 :

Découper une variable dans boucle for [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut Découper une variable dans boucle for
    Bonjour à tous,
    Je suis novice en Batch, et j'ai recherché sur internet, mais rien ne fonctionne -_-
    peut-être que je m'y prends mal !

    Voici mon contexte :
    j'ai un .bat avec dedans des lignes, ces lignes contiennent le chemin d'un fichier + le nom du fichier
    Du type : "c:\Program files\Nomfichier.xls

    Et avec un autre .bat, je vais récupérer dans le premier fichier les lignes qu'il y a et découper les informations.
    J'arrive à récupérer ma ligne
    Et je voudrais pouvoir découper ma chaîne pour ne garder que le nom du fichier (qui est donc à la fin de ma ligne)

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    echo Date du jour : %date% > "W:\Dossier\TonNouveauFicher.txt"
    echo Heure courante : %time% >> "W:\Dossier\TonNouveauFicher.txt"
    echo. >> "W:\Dossier\TonNouveauFicher.txt"
    
    for /f "tokens=* delims=" %%a in ('type "X:\Dossier\Fichier.bat"^| Find /i "ligne_selection"') do (
    	REM je ne sais pas quoi faire ici !
    	set var = %%a
    	echo %var:~10%
    )
    pause
    Si je ne suis pas claire, n'hésité pas à demander des précisions
    Merci pour votre aide

    PS : si je peux avoir un code c'est cool, mais si je peux avoir une explication vite fait avec, pour que je ne revienne pas vous voir, ce serait cool merci

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Pouvez-vous nous poster le 1er batch qui contient le nom et le chemin des fichiers ?

  3. #3
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Salut,
    Je ne suis pas certain de ce que je vais dire mais que retourne:

    ?
    Infos complémentaires: N = le nom du fichier et X= l'extension du fichier

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    Bonjour et merci pour vos réponses (désolé du temps de réponse, je suis en alternance)

    Donc pour répondre à hackoofr :
    Malheureusement, je ne peux pas vous mettre le premier batch pour des soucis de confidentialité
    Mais je peux vous mettre un exemple de la structure du document :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    REM d'import
    "c:\program files\Word.exe" ligne_selection .\exemple1.doc
    "c:\program files\Word.exe" ligne_selection .\exemple2.doc
    "c:\program files\Word.exe" ligne_selection .\autre1.doc
    
    REM export
    "c:\program files\Word.exe" ligne_selection .\exemple3.doc
    "c:\program files\Word.exe" ligne_selection .\autre2.doc
    Et pour répondre à devilsnake88 :
    J'ai fait ce que tu m'as dit
    et effectivement, cela m'affiche bien ce que je veux !!
    donc c'est nickel

    il ne me manque plus qu'a concaténer deux champs ^^
    Merci beaucoup !! <3

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

Discussions similaires

  1. Incrémenter une variable dans un for-each
    Par enzostar dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 01/08/2012, 17h19
  2. Réponses: 3
    Dernier message: 12/10/2010, 17h02
  3. affecter variable dans boucle FOR batch
    Par efferalgan dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 25/10/2007, 14h25
  4. [SHELL] Variable dans boucle for
    Par magicwill dans le forum Linux
    Réponses: 6
    Dernier message: 11/08/2007, 11h31
  5. Réponses: 37
    Dernier message: 02/03/2006, 01h58

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