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 :

Copie de fichiers [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Copie de fichiers
    Bonjour à tous,

    J'ai besoins d'un batch pour copier tous les fichiers du répertoire courant ayant l'extension type .fp2 dans les sous-dossiers du répertoire courant, sans pour autant copier ceux déjà présents dans les sous-dossiers.

    J'ai tenté
    For /r %%i in (*.fp2) do copy "%%i " "*.*" mais cela ne fonctionne pas.

    il faut savoir aussi que le répertoire courant n'est pas toujours le même, mais je peux exécuter le batch dedans

    Pouvez-vous m'aider ?
    merci

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Votre problème n'est pas similaire à ceci

    Si la réponse est Non, alors, vous deviez reformuler votre demande en expliquant mieux votre besoin

  3. #3
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Non
    Citation Envoyé par hackoofr Voir le message

    Votre problème n'est pas similaire à ceci
    Non, dans le topic en lien, il s'agit de copier une structure de dossiers dans un repertoire donné.
    Dans mon cas, il s'agit de copier des fichiers, dans les sous dossiers du dossier courant, qui change à chaque fois.

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Ok !
    Ceci est le help de la commande Copy
    C:\>copy /?
    Copie un ou plusieurs fichiers sur un autre emplacement.

    COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
    [+ source [/A | /B] [+ ...]] [cible [/A | /B]]

    source Fichier(s) à copier.
    /A Indique un fichier texte ASCII.
    /B Indique un fichier binaire.
    /D Permet au fichier cible d'être créé sous forme déchiffrée.
    cible Répertoire et/ou nom de fichier cible.
    /V Vérifie l'écriture du ou des fichiers cible.
    /N Utilise un nom de fichier court, s'il est disponible, lors de
    la copie d'un fichier ayant un nom supérieur à 8.3 caract.
    /Y Supprime la confirmation de remplacement d'un fichier
    cible existant.
    /-Y Demande une confirmation pour remplacer un fichier cible
    existant.
    /Z Copie les fichiers réseau en mode redémarrage.

    /L Si la source est un lien symbolique, copie le lien sur la
    cible plutôt que le fichier sur lequel pointe le lien source.
    L'option /Y peut être prédéfinie dans la variable d'environnement COPYCMD.
    Il est possible d'annuler cela avec l'option /-Y de la ligne de commande. Par
    défaut, l'utilisateur est invité à confirmer le remplacement à moins que la
    commande COPY ne soit exécutée à partir d'un fichier de commandes.

    Pour concaténer des fichiers, spécifiez un seul fichier cible et plusieurs
    fichiers source (avec caractères génériques ou fichier1+fichier2+fichier3).
    Quelle remarque pouvez-vous en tirer à propos de ce que vous avez testé ?

    copy "%%i " "*.*"

  5. #5
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Help
    Citation Envoyé par hackoofr Voir le message
    Ok !
    Ceci est le help de la commande Copy

    Quelle remarque pouvez-vous en tirer à propos de ce que vous avez testé ?

    copy "%%i " "*.*"
    Désolé mais je ne vois pas ce que vous voulez que j'en tire... Je n'ai quasi aucune connaissance et je cherche simplement à automatiser mes préparations de fichiers pour mon travail, que je fais aujourd'hui avec copier coller... je pensais que cela serait simple à réaliser mais je n'en suis pas capable, et vous ?

  6. #6
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par topojs Voir le message
    Désolé mais je ne vois pas ce que vous voulez que j'en tire... Je n'ai quasi aucune connaissance et je cherche simplement à automatiser mes préparations de fichiers pour mon travail, que je fais aujourd'hui avec copier coller... je pensais que cela serait simple à réaliser mais je n'en suis pas capable, et vous ?
    Code à tester
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    Title Copie des fichiers avec l'extension *.fp2
    mode con:cols=100 lines=20
    COLOR 0A
    set ext=fp2
    set source=%CD%
    echo "%source%\*.%ext%"
    pause
    set cible=%source%\backup\
    If Not Exist "%cible%" MD "%cible%"
    For /f "delims=" %%i in ('dir /s /b "%source%\*.%ext%"') do Copy "%%i" "%cible%"
    PAUSE

  7. #7
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Pfuiuii
    Citation Envoyé par hackoofr Voir le message
    Code à tester
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    Title Copie des fichiers avec l'extension *.fp2
    mode con:cols=100 lines=20
    COLOR 0A
    set ext=fp2
    set source=%CD%
    echo "%source%\*.%ext%"
    pause
    set cible=%source%\backup\
    If Not Exist "%cible%" MD "%cible%"
    For /f "delims=" %%i in ('dir /s /b "%source%\*.%ext%"') do Copy "%%i" "%cible%"
    PAUSE
    Je suis impressionné par la longueur du code, et la précision qui en ressort...
    Je teste cela dès que je peux, et je reviens vous dire quoi

  8. #8
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par topojs Voir le message
    Je suis impressionné par la longueur du code, et la précision qui en ressort...
    Je teste cela dès que je peux, et je reviens vous dire quoi
    Si, vous voulez ajouter un fichier log pour garder une trace de votre copie :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    Title Copie des fichiers avec l'extension *.fp2
    mode con:cols=100 lines=20
    COLOR 0A
    set ext=fp2
    set source=%CD%
    set cible=%source%\backup\
    set logfile=copylog.txt
    If Not Exist "%cible%" MD "%cible%"
    (For /f "delims=" %%i in ('dir /s /b "%source%\*.%ext%"') Do echo Copy "%%i" "%cible%">%logfile% && Copy "%%i" "%cible%")
    pause
    Start "" %logfile%

  9. #9
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Oups
    Citation Envoyé par hackoofr Voir le message
    Si, vous voulez ajouter un fichier log pour garder une trace de votre copie :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    Title Copie des fichiers avec l'extension *.fp2
    mode con:cols=100 lines=20
    COLOR 0A
    set ext=fp2
    set source=%CD%
    set cible=%source%\backup\
    set logfile=copylog.txt
    If Not Exist "%cible%" MD "%cible%"
    (For /f "delims=" %%i in ('dir /s /b "%source%\*.%ext%"') Do echo Copy "%%i" "%cible%">%logfile% && Copy "%%i" "%cible%")
    pause
    Start "" %logfile%
    J'ai testé donc ce code:
    _ il récupère TOUS les *.fp2 du dossier et des sous dossiers et les copie dans un nouveau dossier "backup"
    C'est très bien mais pas du tout ce dont j'ai besoin

    _le code nécessaire doit copier UNIQUEMENT les *.fp2 du dossier courant dans chaque sous-dossier de ce dossier, mais ignorer les *.fp2 déjà présents dans les sous-dossiers qui n'ont pas les mêmes filename donc ok; il est impossible que les .fp2 du dossier courant existent déjà dans les sous-dossiers, sinon c'est que le code est déjà passé par là, ou le copier coller que je fais actuellement, qui est:

    _je copie les 5-6 *.fp2 du dossier courant dans le presse-papier, j'ouvre le premier sous-dossier et je colle; marche arrière, deuxième sous-dossier, je colle; marche arrière, troisième sous-dossier, je colle; marche arrière, quatrième sous-dossier, je colle; marche arrière, cinquième sous-dossier, je colle; maaarracchhe arrrrièèèèèèèèèèèèèèèèèèèèèèreeeeeeeeeee ssssssssiiiixxièèèèèmmme

    Enfin je pense que j'ai été plus clair cette fois-ci, et encore une fois bravo pour le premier code, je le garde car il est très intéressant pour sauver un type de fichier présent dans toutes l'arborescence et les rassembler dans un dossier à part.

  10. #10
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par topojs Voir le message
    J'ai testé donc ce code:
    _ il récupère TOUS les *.fp2 du dossier et des sous dossiers et les copie dans un nouveau dossier "backup"
    C'est très bien mais pas du tout ce dont j'ai besoin

    _le code nécessaire doit copier UNIQUEMENT les *.fp2 du dossier courant dans chaque sous-dossier de ce dossier, mais ignorer les *.fp2 déjà présents dans les sous-dossiers qui n'ont pas les mêmes filename donc ok; il est impossible que les .fp2 du dossier courant existent déjà dans les sous-dossiers, sinon c'est que le code est déjà passé par là, ou le copier coller que je fais actuellement, qui est:

    _je copie les 5-6 *.fp2 du dossier courant dans le presse-papier, j'ouvre le premier sous-dossier et je colle; marche arrière, deuxième sous-dossier, je colle; marche arrière, troisième sous-dossier, je colle; marche arrière, quatrième sous-dossier, je colle; marche arrière, cinquième sous-dossier, je colle; maaarracchhe arrrrièèèèèèèèèèèèèèèèèèèèèèreeeeeeeeeee ssssssssiiiixxièèèèèmmme

    Enfin je pense que j'ai été plus clair cette fois-ci, et encore une fois bravo pour le premier code, je le garde car il est très intéressant pour sauver un type de fichier présent dans toutes l'arborescence et les rassembler dans un dossier à part.

    Envoyez moi le résultat de ce code pour lister les sous-dossiers :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    (for /f "delims=" %%i in ('dir /a:d /b "%CD%"') Do echo "%%~fi")>sousdossiers.txt
    start "" sousdossiers.txt
    pause

  11. #11
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Les sous-dossiers
    Citation Envoyé par hackoofr Voir le message

    Envoyez moi le résultat de ce code pour lister les sous-dossiers :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    (for /f "delims=" %%i in ('dir /a:d /b "%CD%"') Do echo "%%~fi")>sousdossiers.txt
    start "" sousdossiers.txt
    pause
    [QUOTE=hackoofr;8532672]
    Je ne pense pas que ce soit utile, car ils changent à chaque fois:
    Je reçoit un dossier client avec des sous dossiers différents à chaque fois, jamais les même noms, comme le nom du dossier d'ailleurs qui est de la forme 12345_xxxxxxxxx xxxx.
    vous voyez ?

  12. #12
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    Title Copie des fichiers avec l'extension *.fp2 dans les sous-dossiers
    set ext=fp2
    (For %%i in (*.%ext%) Do (
        for /f "delims=" %%j in ('dir /a:d /b "%CD%"') Do echo Copy "%%~fi" "%%~fj"
        )
    )>log.txt
    start "" log.txt
    exit

  13. #13
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    Title Copie des fichiers avec l'extension *.fp2 dans les sous-dossiers
    set ext=fp2
    (For %%i in (*.%ext%) Do (
        for /f "delims=" %%j in ('dir /a:d /b "%CD%"') Do echo Copy "%%~fi" "%%~fj"
        )
    )>log.txt
    start "" log.txt
    exit
    Bravo pour ce code BAT que je viens de tester:

    Il crée un log de ce que je veux, mais il ne le fait pas... j'ai failli mourrir de et puis après tout j'ai regardé de pré, supprimé le "echo" de la ligne 5, avant copy, et alleluia IL L'A FAIT, une simple copie de chaque *.fp2 dans chaque ss-dossier, ni + ni-, sauf le fichier log qu'il me crée et dont la seule utilité est de se faire supprimer immédiatement...donc je supprime >log.txt et start ""log .txt et c'est top


    MERCI très sincèrement pour le service rendu, et la question qui me tracasse: le echo était là par erreur ou bien pour me faire réfléchir ?

  14. #14
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par topojs Voir le message
    MERCI très sincèrement pour le service rendu, et la question qui me tracasse: le echo était là par erreur ou bien pour me faire réfléchir ?

    echo ==> pour te faire réfléchir de cette façon ==> c'est un point de vue pédagogique
    L'essentiel c'est que tu as arrivé enfin à déchiffrer et comprendre tout seul ce code, c'est un bon point positif +1
    Dans ce cas je réclame mes +1 et de passer cette discussion en

  15. #15
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut [B]+1 [B]+1
    Citation Envoyé par hackoofr Voir le message

    echo ==> pour te faire réfléchir de cette façon ==> c'est un point de vue pédagogique
    L'essentiel c'est que tu as arrivé enfin à déchiffrer et comprendre tout seul ce code, c'est un bon point positif +1
    Dans ce cas je réclame mes +1 et de passer cette discussion en

    Je cherche encore [B]+1 .... il y a un bouton ?

  16. #16
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par topojs Voir le message

    Je cherche encore [B]+1 .... il y a un bouton ?
    Le se trouve à droite près de de chaque poste
    Pour le bouton se trouve en bas de la page

  17. #17
    Membre à l'essai
    Homme Profil pro
    géometre topographe
    Inscrit en
    Février 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : géometre topographe
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2016
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Fin alors
    Citation Envoyé par hackoofr Voir le message
    Le se trouve à droite près de de chaque poste
    Pour le bouton se trouve en bas de la page


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

Discussions similaires

  1. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 20h57
  2. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 22h35
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

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