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 sur disque amovible


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Copie sur disque amovible
    Bonjour,
    J'aimerais pouvoir copier l'intégralité de mes fichiers word contenus sur mon DD en lancant un batch a partir d'une cle USB. La copie devra donc etre effectuée sur la clé (Ici dossier Words contenu dans RFW).

    Voici la base que j'ai actuellement (qui ne fonctionne pas... ) :

    @echo off

    set DESTINATION=RFW\Words
    for /F "delims=" %%a in ('dir C:\ /b/s *.doc') do (copy "%%a" %DESTINATION%)

    Le problème doit être au niveau de la commande dir mais a vrai dire je sèche un peu ^^ un avis expert serait le bien venu

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Bonjour

    essaie avec ceci :

    ---Code non testé----
    @echo off

    set DESTINATION=RFW\Words
    for /F "delims=" %%a in ('dir /b/s C:\ *.doc') do (copy "%%a" %DESTINATION%)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Toujours le même problème, la commande Dos s'affiche mais rien ne se passe.
    Si qqun a une autre idée je suis preneur

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Essaie avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir /b /s /w /-p C:\*.doc
    Tu noteras l'absence d'espace entre "C:\" et "*.doc". Les paramètres /w et /-p sont juste là pour se prémunir de certains réglages via DIRCMD.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Dans un premier temps merci de votre aide!
    Si j'enlève le C:\ j'arrive bien a copier les .doc contenus sur la clé dans le dossier "Words" par contre avec la commande C:\ plus rien (avec ou sans espace)
    Un bat peut il avoir acces a une autre racine que la sienne?

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Nono075 Voir le message
    Un bat peut il avoir acces a une autre racine que la sienne?
    Bien sûr.

    Essaie alors avec cette syntaxe, bien que je ne vois vraiment pas pourquoi le code précédent ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pushd C:\
    set ...
    for ... ('dir /b /s /w /-p *.doc') do ...
    popd
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Oui etrange effectivement et en utilisant %SystemDrive% ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    
    set DESTINATION=RFW\Words
    for /F "delims=" %%a in ('dir /b/s  "%SystemDrive%\*.doc"') do (copy "%%a" %DESTINATION%)

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Bon ok tout est de ma faute...
    Le code suivant fonctionne tres bien... mais avec un temps de latence d'environ 1min (mon impatience devait prendre le dessus au bout de 30s )

    @echo off

    set DESTINATION=RFW\Words
    for /F "delims=" %%a in ('dir /b /s /w /-p C:\*.doc') do (copy "%%a" %DESTINATION%)

    En tt cas merci a vous pour votre aide et bonne continuation!

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Nono075 Voir le message
    Le code suivant fonctionne tres bien... mais avec un temps de latence d'environ 1min (mon impatience devait prendre le dessus au bout de 30s )
    Le temps de mettre en buffer le résultat du dir, peut-être ? Ajoutes un message du genre "echo Scan en cours, patientez..." avant ton for, peut-être...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut tout le monde,
    Citation Envoyé par Mac LAK Voir le message
    Le temps de mettre en buffer le résultat du dir, peut-être ?
    Ben moi je dirais « sûrement », parce qu'un « dir /s » à partir de C:\, ça va balayer tout Documents and Settings, tout Program Files, tout Windows, tous les autres dossiers de la racine, à la recherche de ces fameux .doc, et ça doit faire du monde...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Ben moi je dirais « sûrement », parce qu'un « dir /s » à partir de C:\, ça va balayer tout Documents and Settings, tout Program Files, tout Windows, tous les autres dossiers de la racine, à la recherche de ces fameux .doc, et ça doit faire du monde...
    Disons que tu as deux modes, indépendants du temps total d'exécution de la commande (dir, traitement et copie) :
    • Les données du DIR arrivent au fur et à mesure, ce qui fait que le boulot "avance" de façon visible sur les trois points (un fichier est copié dès qu'il est listé).
    • Les données du DIR sont bufferisées, et n'arrivent au script qu'une fois le listage totalement terminé : l'exécution est alors "séquentielle", et la copie ne commence qu'une fois le DIR terminé.

    Je dois t'avouer que je n'ai pas franchement pris la peine de vérifier quel était le cas de figure sur ce problème : de toutes façons, ça ne change pas vraiment le temps d'exécution total du batch.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  12. #12
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Salut tout le monde,

    Ben moi je dirais « sûrement », parce qu'un « dir /s » à partir de C:\, ça va balayer tout Documents and Settings, tout Program Files, tout Windows, tous les autres dossiers de la racine, à la recherche de ces fameux .doc, et ça doit faire du monde...
    Salut,

    tu peux aussi utiliser FOR /R

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /r "c:\" %%a in (*.doc) do tacommand
    qui est plus rapide que FOR /F + DIR

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    tu peux aussi utiliser FOR /R


    Code :
    for /r "c:\" %%a in (*.doc) do tacommandqui est plus rapide que FOR /F + DIR
    Après test:
    For /R --> 5 min 10s (la copie se fait au fur et a mesure)
    For /F --> 3 min 40s (les .doc sont bufferisés puis copiés)

    Tout ca pour dire que le For /R n'est pas forcément plus rapide

  14. #14
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par Nono075 Voir le message
    Après test:
    For /R --> 5 min 10s (la copie se fait au fur et a mesure)
    For /F --> 3 min 40s (les .doc sont bufferisés puis copiés)

    Tout ca pour dire que le For /R n'est pas forcément plus rapide
    merci pour le test et la correction, c'était une info un peu ancienne

  15. #15
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Dans ce cas, histoire de ne pas perdre patience trop vite, tu devras ajouter un petit message "Please wait..." avant de démarrer ton traitement avec la deuxième méthode.

    Mais ce qui est surtout intéressant derrière ça, c'est de savoir que le FOR /R permet un traitement "parallèle", bien que plus lent (mode préférable pour certaines opérations), tandis que l'équivalent via FOR /F permet un traitement certes séquentiel, mais plus rapide au final (même si moins "verbeux"), et là aussi c'est sûrement le meilleur mode de fonctionnement pour certaines opérations.

    Et cela donne en plus des pistes d'optimisation peut-être méconnues pour certains batchs un peu lourds et/ou complexes.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Compresser un wmv pour copie sur disque
    Par laurentSc dans le forum Vidéo
    Réponses: 2
    Dernier message: 23/03/2013, 10h37
  2. Copie sur media amovible
    Par gheaeckkseqrz dans le forum Linux
    Réponses: 2
    Dernier message: 02/07/2012, 12h31
  3. lancer bios sur disque amovible
    Par chiassedo dans le forum Assembleur
    Réponses: 8
    Dernier message: 24/03/2012, 18h06
  4. La copie sur disque miroir ne se fait pas
    Par defluc dans le forum Composants
    Réponses: 0
    Dernier message: 12/02/2010, 19h51
  5. autorun sur un disque amovible
    Par spyop3 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 01/05/2006, 21h42

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