Programme usb .bat de copie de fichier selon leur extension
Résolu/Fermé
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
-
7 févr. 2013 à 01:38
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 15 févr. 2013 à 22:52
gautier019 Messages postés 140 Date d'inscription samedi 19 mai 2012 Statut Membre Dernière intervention 12 juin 2017 - 15 févr. 2013 à 22:52
A voir également:
- Bat usb
- Cle usb non reconnu - Guide
- Fichier bat - Guide
- Medicat usb - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Cle usb bootable - Guide
7 réponses
Si tu veux copier un type d'extension précis, utilise xcopy
XCOPY /s "C:\LeCheminDeTonRepetoire\*.xxx" "Y:\"
.xxx = l'extension que tu veux copier
Y = La lettre de ta clé USB
Tu as juste à mettre dans un fichier texte que tu renomme en .bat et à l'exécuter.
XCOPY /s "C:\LeCheminDeTonRepetoire\*.xxx" "Y:\"
.xxx = l'extension que tu veux copier
Y = La lettre de ta clé USB
Tu as juste à mettre dans un fichier texte que tu renomme en .bat et à l'exécuter.
Et en complément d'info :
https://windows.developpez.com/cours/ligne-commande/?page=page_9
Tout est très bien expliqué sur cette page, tu devrais t'en sortir.
https://windows.developpez.com/cours/ligne-commande/?page=page_9
Tout est très bien expliqué sur cette page, tu devrais t'en sortir.
Azraka
Messages postés
252
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
5 juin 2014
13
7 févr. 2013 à 18:01
7 févr. 2013 à 18:01
Bonjour,
Est-ce que tu peux nous en dire un peu plus sur l'usage que tu comptes faire de ce genre de script ?
Est-ce que tu peux nous en dire un peu plus sur l'usage que tu comptes faire de ce genre de script ?
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
7 févr. 2013 à 18:23
7 févr. 2013 à 18:23
Bonjour
Merci SyntaxErr0r pour ta réponse est ton lien je vais jeter un oeil à tout ça essayer de me débrouiller
Pour répondre à Azraka ce petit programme me permettrait comme je l'ai expliqué dans ma définition de copier très rapidement un certain type de fichier sans avoir à aller dans chaque dossier et a les sélectionnés un par un ensuite les copier ce programme aurait donc une multitude d'utilité pour ma part l'utilité principale est que je suis actuellement étudiant en mécanique bac pro MEI (maintenances équipements industrielles) nous utilisons un logiciel de dessin en 3D pour représenter des pièces mécaniques il s'appelle inventor ce logiciel permet de faire énormément de choses et chaque une a une extension propre exemple: .ipt .idw .iam ... il faut savoir que chaque vis chaque rondelle chaque boulon d'une machine est enregistré comme ceci ex: tube.ipt vis.ipt il y a donc énormément de dossier et de sous dossier c'est pourquoi je veux un logiciel de copie rapide en fonction des extensions
cordialement
Merci SyntaxErr0r pour ta réponse est ton lien je vais jeter un oeil à tout ça essayer de me débrouiller
Pour répondre à Azraka ce petit programme me permettrait comme je l'ai expliqué dans ma définition de copier très rapidement un certain type de fichier sans avoir à aller dans chaque dossier et a les sélectionnés un par un ensuite les copier ce programme aurait donc une multitude d'utilité pour ma part l'utilité principale est que je suis actuellement étudiant en mécanique bac pro MEI (maintenances équipements industrielles) nous utilisons un logiciel de dessin en 3D pour représenter des pièces mécaniques il s'appelle inventor ce logiciel permet de faire énormément de choses et chaque une a une extension propre exemple: .ipt .idw .iam ... il faut savoir que chaque vis chaque rondelle chaque boulon d'une machine est enregistré comme ceci ex: tube.ipt vis.ipt il y a donc énormément de dossier et de sous dossier c'est pourquoi je veux un logiciel de copie rapide en fonction des extensions
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour faire plus simple, tu n'es pas obligé de faire un programme batch pour ça.
Tu peux saisir exactement la même chose dans l'invite de commande windows.
Après si tu n'arrive pas à te rappeler de la syntaxe de la commande, l'enregistrer en tant que .bat peut-être une solution pour éviter de la taper à chaque fois.
Tu peux saisir exactement la même chose dans l'invite de commande windows.
Après si tu n'arrive pas à te rappeler de la syntaxe de la commande, l'enregistrer en tant que .bat peut-être une solution pour éviter de la taper à chaque fois.
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
7 févr. 2013 à 18:44
7 févr. 2013 à 18:44
oui mais un logiciel en .bat serais beaucoup plus rapide et effectivement je n'aurais pas à retaper la commande à chaque foi de plus si le .bat se trouve sur la clé usb il me suffit de brancher la cle cliqué sur le .bat et la copie ce ferais automatiquement
c'est effectivement bien pratique, j'ai mis cela sur ma clé usb pour sauvegarder en un clic un certain nombre de fichiers de différents dossiers du disque sur la clé
@echo off
xcopy/d/y d:\dossier\sous dossier\*.dt5 \dossier\sous dossier
xcopy/d/y d:\dossier2\sous dossier2\*.dt5 \dossier2\sous dossier2
xcopy/d/y d:\dossier3\sous dossier3\*.dt5 \dossier3\sous dossier3
les options après xcopy permettent de ne pas écraser des fichier nouveaux par des anciens (vérif de date de fichiers)
d:\dossier\sous dossier\ est l'origine
*.dt5 est le type de fichiers a copier
\dossier\sous dossier est la même arborescence sur la clé (pas besoin de donner la
lettre de la clé puisque l'appel des commande se fait sur la clé !!!
Nota : il y a un espace
entre \y et d:
et entre *.dt5 et \dossier, c'est important !!
@echo off
xcopy/d/y d:\dossier\sous dossier\*.dt5 \dossier\sous dossier
xcopy/d/y d:\dossier2\sous dossier2\*.dt5 \dossier2\sous dossier2
xcopy/d/y d:\dossier3\sous dossier3\*.dt5 \dossier3\sous dossier3
les options après xcopy permettent de ne pas écraser des fichier nouveaux par des anciens (vérif de date de fichiers)
d:\dossier\sous dossier\ est l'origine
*.dt5 est le type de fichiers a copier
\dossier\sous dossier est la même arborescence sur la clé (pas besoin de donner la
lettre de la clé puisque l'appel des commande se fait sur la clé !!!
Nota : il y a un espace
entre \y et d:
et entre *.dt5 et \dossier, c'est important !!
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
7 févr. 2013 à 19:07
7 févr. 2013 à 19:07
quand tu écrit
xcopy/d/y le d c'est par exemple c: de mon disque dur ? et le Y c'est quoi ??
dsl de ne pas tout comprendre du 1er coup :)
xcopy/d/y le d c'est par exemple c: de mon disque dur ? et le Y c'est quoi ??
dsl de ne pas tout comprendre du 1er coup :)
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
7 févr. 2013 à 19:11
7 févr. 2013 à 19:11
ah la la merci beaucoup de ton aide tout est bien plus clair comme ça et après une 2éme lecture attentive
je vais bidouiller tout ça ça devrait aller impeccable encore merci
je vais bidouiller tout ça ça devrait aller impeccable encore merci
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
7 févr. 2013 à 19:02
7 févr. 2013 à 19:02
merci beaucoup SyntaxErr0r pour ta première réponse fait un test avec cette ligne de code
c:\\ pour dire de faire la copie depuis tout le disque dur
.ipt pour mes pièce en dessin 3D
G: our le nom de ma clé usb
XCOPY /s "C:\\*.ipt" "G:\"
tout a marché parfaitement j'ai cependant une petit question comment dois=je écrire mon code si je veux copier 2 type d'extension exemple .ipt et .idw
et faire en sorte que les 2 soit copier dans un seul dossier car a mon 1er teste j'ai eu au moins 8 dossier avec dans chacun 2 ou 3 .ipt ça serais plus simple pour moi d'avoir tout dans un seul dossier
et je voulais savoir aussi a quoi sert les " " et le *
merci d'avance
c:\\ pour dire de faire la copie depuis tout le disque dur
.ipt pour mes pièce en dessin 3D
G: our le nom de ma clé usb
XCOPY /s "C:\\*.ipt" "G:\"
tout a marché parfaitement j'ai cependant une petit question comment dois=je écrire mon code si je veux copier 2 type d'extension exemple .ipt et .idw
et faire en sorte que les 2 soit copier dans un seul dossier car a mon 1er teste j'ai eu au moins 8 dossier avec dans chacun 2 ou 3 .ipt ça serais plus simple pour moi d'avoir tout dans un seul dossier
et je voulais savoir aussi a quoi sert les " " et le *
merci d'avance
tu as un exemple en post #7 https://forums.commentcamarche.net/forum/affich-27085267-programme-usb-bat-de-copie-de-fichier-selon-leur-extension#7
tu remplaces .dt5 par tes extensions, 1 ligne par extension
tu remplaces .dt5 par tes extensions, 1 ligne par extension
Azraka
Messages postés
252
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
5 juin 2014
13
Modifié par Azraka le 8/02/2013 à 15:57
Modifié par Azraka le 8/02/2013 à 15:57
Le *.ipt signifie tous les fichiers dont l'extension est .ipt.
Les quotes (") servent dans le cas de chemins avec des espaces, ce n'est pas nécessaire ici.
Quant aux répertoires/sous répertoires, je crains que tu doives faire avec, xcopy ne permet pas de choisir de les prendre ou pas. Il faudrait les enlever à la main après la copie et ça serait compliqué.
Ce que je te conseille de faire :
Met ça dans un fichier bat : XCOPY /sw%4 %1:\\*.%3 %2:\
C'est la même chose que ce que tu as fait avant mais avec des paramètres.
Dans l'ordre où il faut les passer :
1. Le lecteur source
2. Le lecteur de destination
3. L'extension des fichiers à copier
4. Des paramètres à passer à xcopy
Par exemple, mettons que ton fichier bat se nomme copyExt.bat ça donnerait (en se plaçant dans le répertoire où est le script) :
Copier tous les .ipt de C vers G :
l (L minuscule) sert à dire à xcopy de lister les fichiers au lieu de les copier, cf www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true
Les quotes (") servent dans le cas de chemins avec des espaces, ce n'est pas nécessaire ici.
Quant aux répertoires/sous répertoires, je crains que tu doives faire avec, xcopy ne permet pas de choisir de les prendre ou pas. Il faudrait les enlever à la main après la copie et ça serait compliqué.
Ce que je te conseille de faire :
Met ça dans un fichier bat : XCOPY /sw%4 %1:\\*.%3 %2:\
C'est la même chose que ce que tu as fait avant mais avec des paramètres.
Dans l'ordre où il faut les passer :
1. Le lecteur source
2. Le lecteur de destination
3. L'extension des fichiers à copier
4. Des paramètres à passer à xcopy
Par exemple, mettons que ton fichier bat se nomme copyExt.bat ça donnerait (en se plaçant dans le répertoire où est le script) :
Copier tous les .ipt de C vers G :
copyExt C G iptLister tous les .ipt à copier de C vers G :
copyExt C G ipt l
l (L minuscule) sert à dire à xcopy de lister les fichiers au lieu de les copier, cf www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true
Azraka
Messages postés
252
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
5 juin 2014
13
8 févr. 2013 à 17:55
8 févr. 2013 à 17:55
J'y ai repensé un peu, voici un truc qui fera exactement ce que tu veux :
Ensuite appeler le fichier bat avec en paramètre :
Dans l'ordre où il faut les passer :
1. Le chemin source (penser à l'antislash final)
2. Le chemin de destination (penser à l'antislash final)
3. L'extension des fichiers à copier
Ça te mettra tout au même endroit, et gère les espaces dans les noms de fichiers.
@echo off for /R %1 %%f in (*.%3) do copy "%%f" %2 pause(à mettre dans un fichier bat, comme expliqué précédemment)
Ensuite appeler le fichier bat avec en paramètre :
Dans l'ordre où il faut les passer :
1. Le chemin source (penser à l'antislash final)
2. Le chemin de destination (penser à l'antislash final)
3. L'extension des fichiers à copier
Ça te mettra tout au même endroit, et gère les espaces dans les noms de fichiers.
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
8 févr. 2013 à 17:57
8 févr. 2013 à 17:57
merci Azraka je vais testé sa tout de suite
gopou54
Messages postés
16
Date d'inscription
jeudi 7 février 2013
Statut
Membre
Dernière intervention
2 mai 2015
8 févr. 2013 à 18:16
8 févr. 2013 à 18:16
rah la la je ne comprend pas sa ne marche pas. je donne tous les éléments a mon cas si je suis exactement se que tu me dit juste au dessus mon code ressemble à ça:
@echo off
for /R %c:\Utilisateurs\administrateur\ %%f in (*.%ipt) do copy "%%f" %G:\
pause
c:\ est mon disque dur
utilisateur c'est une foi que je suis dans c:
administrateur c'est ma session dans la quelle j'ai plusieurs dossier avec des fichier .ipt
(*.%ipt) c'est le forma de fichier que je veux
et le G:\ c'est la racine de ma clé usb
il y a-t-il une erreur ??
@echo off
for /R %c:\Utilisateurs\administrateur\ %%f in (*.%ipt) do copy "%%f" %G:\
pause
c:\ est mon disque dur
utilisateur c'est une foi que je suis dans c:
administrateur c'est ma session dans la quelle j'ai plusieurs dossier avec des fichier .ipt
(*.%ipt) c'est le forma de fichier que je veux
et le G:\ c'est la racine de ma clé usb
il y a-t-il une erreur ??