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 :

[XP]copier plusieurs fichiers avec la commande copy


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Points : 25
    Points
    25
    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
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 517
    Points : 50 367
    Points
    50 367
    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 éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    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
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Points : 25
    Points
    25
    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 éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    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
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    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
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Points : 25
    Points
    25
    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
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Points : 25
    Points
    25
    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
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 33
    Points : 25
    Points
    25
    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, 19h25
  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, 18h56
  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, 17h12
  4. [C#] Compresser plusieurs fichiers avec GZipStream, help
    Par TheParadoX dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/08/2006, 11h19
  5. Zipper plusieurs fichiers avec Abbrevia TP
    Par alex4 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/11/2004, 09h00

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