Un copy complexe
Résolu/Fermé
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
-
Modifié par trunksdu92 le 19/02/2013 à 13:55
trunksdu92 Messages postés 321 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 22 février 2013 - 22 févr. 2013 à 12:51
trunksdu92 Messages postés 321 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 22 février 2013 - 22 févr. 2013 à 12:51
A voir également:
- Un copy complexe
- Super copy - Télécharger - Gestion de fichiers
- Carbon copy cloner mac gratuit - Télécharger - Sauvegarde
- Total copy - Télécharger - Utilitaires
- Copy trans heic - Télécharger - Visionnage & Diaporama
- Copy trans - Télécharger - Sonneries
7 réponses
dubcek
Messages postés
18769
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 mars 2025
5 629
20 févr. 2013 à 11:32
20 févr. 2013 à 11:32
hello
dans un .bat, remplacer %a par %%a
dans un .bat, remplacer %a par %%a
for /F "delims=" %a in ('dir /S /B') DO @copy /y "%a" \dest
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 févr. 2013 à 16:01
19 févr. 2013 à 16:01
salut.
En bash, ça serait hyper vite fait...
Première piste, avec la commande "dir /S /B" tu récupères une liste de tout les fichiers à copier.
Sinon, en lisant l'aide de for, j'ai peut être une idée, essai un truc dans le genre :
autre option, qui ne semble pas fonctionner chez moi à cause d'espace dans les noms :
En bash, ça serait hyper vite fait...
Première piste, avec la commande "dir /S /B" tu récupères une liste de tout les fichiers à copier.
Sinon, en lisant l'aide de for, j'ai peut être une idée, essai un truc dans le genre :
for /R repertoire/racine/a/copier %file in (*.*) DO copy %file repertoire/de/destination
autre option, qui ne semble pas fonctionner chez moi à cause d'espace dans les noms :
for /F %file in ('dir /S /B') DO copy %file c:\rep_dest
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
30
19 févr. 2013 à 18:01
19 févr. 2013 à 18:01
Merci pour ta réponse.
Oui je sais bash serait tellement mieux, mais disons que dans mon travail je suis obligé de bosser sur du windows.
Je savais même pas qu'il y'avait des for sous windows.
pour l'instant ça marche pas des masses.
Oui je sais bash serait tellement mieux, mais disons que dans mon travail je suis obligé de bosser sur du windows.
Je savais même pas qu'il y'avait des for sous windows.
pour l'instant ça marche pas des masses.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 févr. 2013 à 08:22
20 févr. 2013 à 08:22
Salut.
je t'avoue ne pas avoir tout tester, mais partiellement, avec des echo, et ça fonctionnai pas trop mal.
à toi de voir ce qui merde, pourquoi ça ne fonctionne pas. Le for /R semble plus prometteur.
Sinon, il est possible d'utiliser bash sous windows en installant "Msys".
en batch, il y a une espèce d'équivalent à "man", c'est "help" et l'équivalent de --help c'est "/?".
Par exemple, tu peuxtaper "help for" ou "for /?" pour avoir accès à l'aide en ligne.
je t'avoue ne pas avoir tout tester, mais partiellement, avec des echo, et ça fonctionnai pas trop mal.
à toi de voir ce qui merde, pourquoi ça ne fonctionne pas. Le for /R semble plus prometteur.
Sinon, il est possible d'utiliser bash sous windows en installant "Msys".
en batch, il y a une espèce d'équivalent à "man", c'est "help" et l'équivalent de --help c'est "/?".
Par exemple, tu peuxtaper "help for" ou "for /?" pour avoir accès à l'aide en ligne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
30
Modifié par trunksdu92 le 20/02/2013 à 15:22
Modifié par trunksdu92 le 20/02/2013 à 15:22
Merci dubcek.
Mais je comprends pas à quoi correspond %a%?
ainsi que /dest?
Je suppose que l'un est le répertoire source et l'autre le répertoire de destination mais j'en suis pas sur...
Mais je comprends pas à quoi correspond %a%?
ainsi que /dest?
Je suppose que l'un est le répertoire source et l'autre le répertoire de destination mais j'en suis pas sur...
dubcek
Messages postés
18769
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 mars 2025
5 629
20 févr. 2013 à 15:33
20 févr. 2013 à 15:33
%a est une variable à laquelle for va assigner chaque nom de fichier trouvé par dir /b /s et on copie ce fichier dans la destination, il faut remplacer \dest par la vraie destination
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
30
20 févr. 2013 à 16:04
20 févr. 2013 à 16:04
en faite ça créé un fichier "dest" en mettant tout dedans.
Alors que je veux que ça le range dans un dossier :/
Alors que je veux que ça le range dans un dossier :/
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 févr. 2013 à 16:07
20 févr. 2013 à 16:07
\dest\ ?
dubcek
Messages postés
18769
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 mars 2025
5 629
20 févr. 2013 à 16:39
20 févr. 2013 à 16:39
il faut créer le répertoire \dest avant la copie md \dest
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
30
20 févr. 2013 à 17:41
20 févr. 2013 à 17:41
Ca marche. En fait il se met par défaut sur le répertoire racine.
Autre problème, la ligne marche mais quand seulement quand je le met dans un invite de comande.
Quand je batch:
for /F "delims=" %a% in ('dir /S /B') DO @copy /y "%a%" \replotus\id\
pause
Rien ne se passe et la fenetre se ferme direct sans s'arrêter sur pause. On dirait que le programme sort avant la fin.
Quelqu'un sait pourquoi?
Autre problème, la ligne marche mais quand seulement quand je le met dans un invite de comande.
Quand je batch:
for /F "delims=" %a% in ('dir /S /B') DO @copy /y "%a%" \replotus\id\
pause
Rien ne se passe et la fenetre se ferme direct sans s'arrêter sur pause. On dirait que le programme sort avant la fin.
Quelqu'un sait pourquoi?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 févr. 2013 à 21:01
20 févr. 2013 à 21:01
dubcek
Messages postés
18769
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 mars 2025
5 629
21 févr. 2013 à 08:25
21 févr. 2013 à 08:25
%%a et pas %a%
trunksdu92
Messages postés
321
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
22 février 2013
30
22 févr. 2013 à 12:51
22 févr. 2013 à 12:51
merci les gars. Ca marche.
Je suis un peu lent à la détente. :)
Je suis un peu lent à la détente. :)