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 :

Pb nom de fichier avec espaces dans boucle "FOR /F" [Batch]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Finance
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Finance
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 9
    Points
    9
    Par défaut Pb nom de fichier avec espaces dans boucle "FOR /F"
    Bonjour,
    je suis débutant dans le forum et en batch. J'espère que je poste cette question comme il convient et au bon endroit...

    Je suis face au problème de devoir gérer des fichiers avec des espaces dans les noms, et les traiter avec des boucles "FOR /F".
    J'ai trouvé une solution en passant par les noms courts (format 8.3 ?), voici mon exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    rem Une référence à un fichier est renvoyé dans le paramètre %1
    rem Il y a des espaces dans le nom de fichier. Exemple :"Fichier avec espaces.txt"
    set FicAvecEsp=%~1
    rem je prends le nom court du fichier pour éviter pb espaces
    set Fic=%~ns1
    
    rem la boucle ci-dessous fonctionne bien (nom court)
    for /F "delims=" %%i in (%Fic%.txt) do (call :Routine "%%i")
    
    rem les boucles ci-dessous ne fonctionnent pas
    for /F "delims=" %%i in (%FicAvecEsp%.txt) do (call :Routine "%%i")
    for /F "delims=" %%i in ("%FicAvecEsp%.txt") do (call :Routine "%%i")
    Cela fonctionne, mais complique le reste du traitement... Je dois jongler avec les deux noms pour chaque fichier.

    Y-a-t'il une solution plus simple pour écrire cette boucle "FOR /F" en conservant le nom de fichier complet (avec espaces) ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Bonjour,

    Voilà ce que tu cherches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /F "usebackq delims=" %%i in ("%FicAvecEsp%.txt") do (call :Routine "%%i")

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Finance
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Finance
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 9
    Points
    9
    Par défaut
    Bonjour barnabe0057,
    oui, ça fonctionne.
    Merci .

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Grand merci
    Citation Envoyé par HektorParis Voir le message
    Bonjour barnabe0057,
    oui, ça fonctionne.
    Merci .
    Effectivement là vraiment trop fort.
    Cela faisait un moment que je cherchais une solution.
    Un grand merci!

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

Discussions similaires

  1. Commande dos For et nom de fichiers avec espaces
    Par VinnieMc dans le forum Administration
    Réponses: 1
    Dernier message: 28/06/2008, 15h12
  2. Réponses: 1
    Dernier message: 11/01/2008, 16h17
  3. Nom de fichier avec espaces
    Par GLDavid dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 07/05/2007, 09h38
  4. [système]shell + Nom de fichier avec Espace
    Par delphine_lep dans le forum Access
    Réponses: 3
    Dernier message: 23/03/2007, 16h24
  5. download fichier avec espace dans le nom
    Par cb68 dans le forum Langage
    Réponses: 8
    Dernier message: 23/11/2005, 10h00

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