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 :

Exécuter une commande sur des fichiers d'un répertoire suivant certains critères [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Exécuter une commande sur des fichiers d'un répertoire suivant certains critères
    Bonjour,

    Voici ce que j'essaie de faire : Appliquer un xslt sur des fichiers xml. Les fichiers XML doivent avoir pour nom "LOOMArt_*.xml". Le XSLT a pour but d'éclater le fichier. Les fichiers éclaté auront pour nom LOOMArt_xxxxx_Split1.xml, LOOMArt_xxxxx_Split2.xml ... Je souhaite donc avec un batch lancé par .bat, pour chaque fichier qui a pour nom "LOOMArt_*.xml" mais dont le nom ne contient pas le terme "Split", lancer un xslt à partir de la commande : java -jar saxon9he.jar nomFichierXML Split.xslt.

    J'arrive à parcourir la liste des fichiers avec une boucle mais je n'arrive pas à identifier ceux qui contiennent "Split" dans leur nom.

    Avec ce premier bout de code, j'obtiens bien dans le fichier listeFichiers.txt la liste des fichiers à tester.
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for %%X in (LOOMArt_*.xml) do (
    	echo %%X >> C:\Temp\listeFichiers.txt
    )

    Le problème c'est que lorsque j'exécute le code suivant :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for %%X in (LOOMArt_*.xml) do (
    	IF (echo %%X | find /C "Split") == 0 do (echo %%X >> C:\Temp\listeFichiers.txt)
    )

    Le fichier listeFichiers.txt n'est pas créé. Et la variable %%X n'est pas reconnue. Voici le résulte que j'ai dans l'invite de commande windows (Pour info, je lance ces commandes via un fichier .bat) :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Temp>split.bat
    %X était inattendu.
    C:\Temp>        IF (echo %X | find /C "Split") == 0 do (echo %X >> C:\Temp\listeFichiers.txt)

    Malgré de nombreuses recherches, je ne comprends pas pourquoi le %%X est reconnu dans un cas et pas dans l'autre et je ne trouve pas de solutions à mon problème ... Je m'en remets donc à la communauté.
    J'espère avoir été le plus clair possible. Merci d'avance pour votre aide.

  2. #2
    Candidat au Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'ai trouvé ma solution.
    Pour info voilà mon code :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    for %%X in (LOOMArt_*.xml) do (
    	echo %%X | find /C "Split" >nul 2>&1 
    	if errorlevel 1 (
    	java -jar saxon9he.jar %%X Split.xslt
    	del /s %%X
    	)
    )

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

Discussions similaires

  1. [Batch] Exécuter une commande sur un ensemble de fichiers
    Par flo44 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 23/04/2010, 16h07
  2. exécuter une commande sur tous les fichiers des sous dossiers
    Par Concombre Masqué dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/03/2009, 01h15
  3. Réponses: 1
    Dernier message: 27/11/2008, 11h41
  4. Réponses: 1
    Dernier message: 25/04/2008, 11h52
  5. Réponses: 4
    Dernier message: 03/12/2004, 11h18

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