p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2008
    Messages : 33
    Points : 16
    Points
    16

    Par défaut [XP]copier plusieurs fichiers avec la commande copy

    Bonjour,

    J'ai besoin de copier plusieurs fichiers dans un dossier. Pour cela, j'utilise la commande windows copy.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    copy /b "C:\fichier 1"+ /b "C:\fichier 2" "C:\dossier de destination"
    reponse de windows :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Le fichier spécifié est introuvable


    Je ne comprend pas cette erreur

    xcopy m'indique, quant à lui, que le fichier 2 est introuvable alors qu'il existe bel et bien

    (J'ai mis des espaces dans les noms de fichiers et de dossier de destination volontairement)

  2. #2
    Responsable Réseaux

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    mai 2007
    Messages
    11 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mai 2007
    Messages : 11 436
    Points : 50 170
    Points
    50 170

    Par défaut

    Après un essai, la commande que tu passes ne fais pas ce que tu veux. En effet,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    copy /b "C:\fichier 1"+ /b "C:\fichier 2" "C:\dossier de destination"
    concatène "C:\fichier 1" et "C:\fichier 2" et la concaténation de ces 2 fichiers va dans "C:\dossier de destination".
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert Confirmé Sénior

    Inscrit en
    décembre 2004
    Messages
    19 649
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 19 649
    Points : 31 388
    Points
    31 388

    Par défaut

    L'utilisation du "+" avec la commande copy sert à concaténer plusieurs fichiers et non les à copier.
    Il faut donc un nom de fichier cible qui sera l'assemblage des fichiers sources et non un nom de dossier.
    Mais je ne pense pas que c'est ce que tu veux faire ?

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2008
    Messages : 33
    Points : 16
    Points
    16

    Par défaut

    En effet, ce que je souhaite, c'est copier plusieurs fichiers dans un dossier de destination.

    Une boucle est peut être indispensable dans ce cas...

    Je viens de faire des recherches sur le net, mais je n'ai pas trouvé (compris surtout ) comment réaliser la boucle dans mon projet :

    depuis une appli windows, je voudrai créer et exécuter un petit batch permettant de lire chaque ligne d'un tableau contenant chacune un fichier de destination. Pour chacun de ces fichiers, je fais une copie dans un autre répertoire...

    l'algo ressemble à çà (ce sera un batch après) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pour chaque nomDeFichierDOrigine dans mon tableau
       texte = "copy nomDeFichierDOrigine dossierDeDestinationDefiniPlusHaut"
       exécuter(texte)
    Fin Pour
    Si vous pouviez me donner une petite piste, je serai preneur. Merci d'avance.

  5. #5
    Expert Confirmé Sénior

    Inscrit en
    décembre 2004
    Messages
    19 649
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 19 649
    Points : 31 388
    Points
    31 388

    Par défaut

    Il faut en effet une boucle.
    Tu devrais trouver les informations nécessaires dans ce froum et/ou dans la FAQ DOS.
    Il y a déjà des codes pour la lecture d'un fichier ligne par ligne par exemple.
    Il te suffit d'y ajouter la ligne de copie.

  6. #6
    Débutant
    Avatar de koKoTis
    Inscrit en
    août 2006
    Messages
    3 411
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 411
    Points : 2 359
    Points
    2 359

    Par défaut

    je ne sais pas si on peut lire des lignes d'un tableau, mais voici une boucle qui lit les lignes d'un fichier .txt contenant les chemins de fichiers a copier puis qui les copie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=*" %%i in ('type fichier.txt') do copy "%%i" "%destination%%%~nxi"

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2008
    Messages : 33
    Points : 16
    Points
    16

    Par défaut

    merci KoKoTis

    J'ai modifier un brin le code que tu m'a donné et fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /f %%i IN (C:\LesFichiersACopier.txt) DO copy "%%i" "C:\Documents and Settings\USER\Bureau\destination"
    et ça marche ! Merci encore.

  8. #8
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2008
    Messages : 33
    Points : 16
    Points
    16

    Par défaut

    Problème : les fichiers à copier comportant un espace sont mal lus

    Exemple "C:\mon fichier" est lu "c:\mon"...

    Comment contourner ce problème ? merci d'avance.

  9. #9
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2008
    Messages : 33
    Points : 16
    Points
    16

    Par défaut

    J'ai trouvé !

    il s'agit de "delims=leDelimitateur"

    un exemple quand même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /f "delims=;" %%i IN (C:\LesFichiersACopier.txt) DO copy "%%i" "C:\Documents and Settings\USER\Bureau\destination"

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/02/2013, 18h25
  2. Copier X fois un fichier avec la commande cp
    Par Info_76 dans le forum Linux
    Réponses: 1
    Dernier message: 07/07/2008, 17h56
  3. Télécharger plusieurs fichiers avec Wget
    Par Guilhem_mdg dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 21/02/2007, 16h12
  4. [C#] Compresser plusieurs fichiers avec GZipStream, help
    Par TheParadoX dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/08/2006, 10h19
  5. Zipper plusieurs fichiers avec Abbrevia TP
    Par alex4 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/11/2004, 08h00

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