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 :

parcourir le contenu d'un TXT dans un .BAT


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
    Avril 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 52
    Par défaut parcourir le contenu d'un TXT dans un .BAT
    Bonjour,
    ce que j'essaye de faire est dans une techno si vieille que je ne sais meme pas dans quelle rubrique la classer.

    Mon soucis: Au terme d'un mapping XML/XSD/XSLT lancé depuis un progiciel (Je n'ai pas accès au nom du fichier généré dans mon répertoire et le progiciel ne permet pas l'utilisation de XSLT 2.0 donc je ne peux pas faire de "xsl:result-document"...) j'obtiens dans un répertoire un fichier "XMLOutput_001.xml" qui contient seulement du texte (Pas de balise xml etc...).
    J'ai ensuite créé un fichier BAT qui vient scanner ce répertoire, prend tous les fichiers XML et les renomme en "ZCONF_Output_001.txt".

    Malheureusement je voudrais que le nom du fichier soit fonction du contenu de celui-ci.

    Je cherche donc les commandes dans .BAT pour ouvrir le fichier, récupérer dans une variable une séquence de caractère et renommer le fichier avec cette séquence.

    Je cherche quelque chose ressemblant à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR %%j IN (%Dossier%*.xml) do "Open file" "Récupère caractère 0 à 10 dans variable %Nom%
    J'ai beau chercher sur le net je ne trouve rien, merci de me donner des pistes si quelqu'un a déjà été confronter au soucis.

    Merci d'avance!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 52
    Par défaut
    Bonjour,
    J'ai trouvé le forum sur lequel ce post aurait du être écrit. Est-ce qu'un admin pourrait le renvoyer dans "Systèmes/Windows"? Désolé pour la gêne occasionnée.

    Sinon j'ai presque trouvé la réponse à mon soucis mais toujours des problème de syntaxe.

    Voici la syntaxe pour ouvrir un fichier CSV et le parcourir ligne par ligne et récupérer le 2em et 3em élément de la chaine séparée par ";":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "eol=; tokens=2,3* delims=;" %i in (%%g) DO @echo %i_%j
    Cela me revoie CHAMP1_CHAMP2...parfait!

    Par contre je ne sais pas faire de BREAK afin de ne prendre en compte que la première ligne et je ne sais pas imbriquer 2 boucles FOR l'une dans l'autre pour automatiser le traitement à tous les fichiers d'un répertoire...

    Je cherche à faire quelque chose du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set %PREFIX="ZCONF_"
    FOR %%g IN (c:\*.txt) DO (for /f "eol=; tokens=2,3* delims=;" %i in (%%g) DO (rename c:\*.txt %PREFIX%%i%_%j%.txt))
    Si quelqu'un peut m'aider ce serait super.

    Merci d'avance

Discussions similaires

  1. Copier le contenu d'un .txt dans le Clipboard
    Par ben55j dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/07/2012, 11h33
  2. Réponses: 1
    Dernier message: 30/04/2010, 21h24
  3. Réponses: 2
    Dernier message: 23/10/2007, 14h53
  4. Réponses: 4
    Dernier message: 12/07/2006, 20h54
  5. Réponses: 1
    Dernier message: 14/04/2006, 16h51

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