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

Windows Discussion :

[Batch] Vérifier l'existence de fichiers dans un dossier


Sujet :

Windows

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 137
    Points : 63
    Points
    63
    Par défaut [Batch] Vérifier l'existence de fichiers dans un dossier
    Bonjour,

    Voilà ce que je cherche à faire : je voudrais copier dans un dossier DOS02 tous les fichiers de mon dossier DOS01 sauf ceux qui y ont déjà été copiés. Je n'ai pas la possibilité de supprimer les fichiers du DOS01, et de nouveaux fichiers s'y ajoutent.
    Pour l'instant je traite le problème ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%f in (DOS01\*.*) do xcopy %%f DOS02\ /-Y
    et je répond Non à chaque fois que l'option /-Y me demande si je veux copier le fichier. Je veux automatiser cela.
    J'ai tenté avec l'instruction if exist, mais ma syntaxe ne doit pas être bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%f in (DOS01\*.*) if not exist %%f do xcopy %%f \
    le batch étant placé dans DOS02.
    Quelqu'un pour m'aider ? Je ne suis pas très calé en DOS...
    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Tu dois faire 2 bat :

    listfile.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @for /F %%f in ('dir /B DOS01\') do filetransfert %%f
    filetransfert.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not exist DOS02\%1 xcopy DOS01\%1 DOS02
    Les deux bat doivent se situer dans le repertoire parent de DOS01 et DOS02

    Repertoir parent :
    -> DOS01
    -> DOS02
    -> listfile.bat
    -> filetransfert.bat

    sinon adapte en fonction de ton arborescence
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 137
    Points : 63
    Points
    63
    Par défaut
    MERCI ! Ca marche nickel.

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 054
    Points : 340
    Points
    340
    Par défaut
    Bonjour

    S'est pas possibe de faire sa en un seule batch un peut comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set Source=0
    Set Cible=1
    ::
    for /F %%f in ('dir /B %Source%\') do goto filetransfert %%f
    ::
    :filetransfert
    if not exist "%Cible%\%1" xcopy "%Source%\%1"  "%Cible%\*.*"
    :

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    non car le goto te fait sortir de la boucle
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 054
    Points : 340
    Points
    340
    Par défaut
    Merci

    Si non en une seule ligne se n'est pas possible non plus ?

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Non car le do du for doit être suivi d'une commande or l'instruction if n'est pas considérée comme tel.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 054
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 054
    Points : 340
    Points
    340
    Par défaut
    Merci beaucoup pour ses renseignements

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

Discussions similaires

  1. existance de fichiers dans un dossier.
    Par sandball22 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/02/2011, 15h00
  2. [batch] Récupérer le nombre de fichiers dans un dossier
    Par Longrais dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 03/12/2009, 11h08
  3. [VBA-E] vérifier si existance de fichier
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/09/2007, 09h23
  4. Réponses: 18
    Dernier message: 21/08/2007, 10h57
  5. Réponses: 4
    Dernier message: 28/08/2006, 14h47

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