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 :

Gestion de fichiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut Gestion de fichiers
    Bonjour,

    J'ai essayé de faire un fichier Batch pour gérer des fichiers mais j'ai quelques probèmes.
    Voilà ce que je veux faire.

    Le code suivant me récupère les chemins de tous les fichiers txt d'un dossier et de ses sous-dossiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir /s /b "dossier\*txt"
    Je veux enlever le début de tous ces chemins et mettre le tout dans un fichier txt.

    Voici ce que j'ai tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f %%i in ('dir /s /b "dossier\*txt"') do (
    set var=%i:~92%
    echo %var% >> "fichier.txt"
    )
    Qu'est-ce qui cloche ?

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    pour ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    setlocal enabledelayedexpansion enableextensions
    
    for /f %%i in ('dir /aa /s /b "dossier\*.txt"') do (set var=%%i
    set var=!var:~92!
    echo !var! >> "fichier.txt")
    Maintenant tu peux t'intéresser au "MODIFIERS"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    setlocal enabledelayedexpansion enableextensions
    
    for /f %%i in ('dir /aa /s /b "dossier\*.txt"') do (echo CHEMIN = %%~pi
    echo FICHIER = %~ni
    echo EXTENSION = %~xi
    echo CHEMIN NOM COURT = %~si
    echo DATE-HEURE DE CREATION = %~ti
    echo TAILLE DU FICHIER = %~zi)
    Amicalement

  3. #3
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut
    Merci pour ta réponse. Ca marche presque parfaitement. Mais il me reste un petit problème. Certains des dossiers dans lesquels se trouvent mes fichiers txt ont des noms avec des espaces. Dans ma liste de fichiers finale, les chemins pour ces dossiers sont coupés.

    Par exemple, \blabla blabla\blabla.txt devient \blabla.

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    Salut sachadee et Egan69,

    je laisse sachadee te répondre à ce petit souci.
    tu peux autrement utiliser:
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    forfiles /s /p "dossier" /m *.txt > fichier.txt

  5. #5
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut
    Comment puis-je améliorer ma solution pour résoudre mon problème ?

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    essaye comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    for /f "delims=" %%i in ('dir /aa /s /b "dossier\*.txt"') do (set var=%%i
    set var=!var:~92!
    echo !var! >> "fichier.txt")

Discussions similaires

  1. Gestion de fichier
    Par Zenol dans le forum C++
    Réponses: 6
    Dernier message: 22/09/2005, 15h44
  2. gestion de fichier à partir d'un formulaire
    Par seb59dk dans le forum Access
    Réponses: 3
    Dernier message: 06/09/2005, 16h52
  3. Fonctions de gestion de fichiers
    Par sebduth dans le forum Fortran
    Réponses: 4
    Dernier message: 22/08/2005, 10h38
  4. [JDOM] Gestion "gros fichiers"
    Par Haazheel dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 17/10/2003, 13h42
  5. [Concept] BD ou Gestion par fichier. Intérêt de la BD ?
    Par Cian dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/11/2002, 12h16

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