Programme usb .bat de copie de fichier selon leur extension
Résolu
gopou54
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
gautier019 Messages postés 140 Date d'inscription Statut Membre Dernière intervention -
gautier019 Messages postés 140 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai 19 ans et je suis passionné d'informatique.
j'ai cherché sur de nombreux sites comment faire pour programmer un logiciel qui aurait pour but de copier les données d'un disque dur d'ordinateur en fonction de leurs extension directement sur une clé USB.
ex: je souhaite copier les fichiers .exe je modifie l'extension de mon programme de .bat en .txt j'écris que je souhaite copier les fichier .exe je sauvegarde les modifications et repasse en .bat pour que quand je clique sur mon programme .bat et tous les fichiers .exe de l'ordinateur se copie sur la clé USB jusqu'à saturation de celle-ci idem pour les fichier .iso .img .avi ou .jpg etc ...(bien sur je parle de transfert de petite taille pas de fichier de 4 ou 10Go)
j'ai cherché de long en large à le faire moi-même avec des Tuto sur Internet en .bat ou (.batch) car il me semble que c'est un langage suffisamment performante pour faire ce programme mais je suis loin d'être à la hauteur pour y arriver j'espère avoir suffisamment détaillées mon problème pour être compris
(de mémoire j'ai déjà possédé un logiciel dans le style mais pas en .bat c'était un logiciel .exe standard avec un interface simple et clair mais impossible de me souvenir du nom)
Merci d'avance pour votre aide
j'ai cherché sur de nombreux sites comment faire pour programmer un logiciel qui aurait pour but de copier les données d'un disque dur d'ordinateur en fonction de leurs extension directement sur une clé USB.
ex: je souhaite copier les fichiers .exe je modifie l'extension de mon programme de .bat en .txt j'écris que je souhaite copier les fichier .exe je sauvegarde les modifications et repasse en .bat pour que quand je clique sur mon programme .bat et tous les fichiers .exe de l'ordinateur se copie sur la clé USB jusqu'à saturation de celle-ci idem pour les fichier .iso .img .avi ou .jpg etc ...(bien sur je parle de transfert de petite taille pas de fichier de 4 ou 10Go)
j'ai cherché de long en large à le faire moi-même avec des Tuto sur Internet en .bat ou (.batch) car il me semble que c'est un langage suffisamment performante pour faire ce programme mais je suis loin d'être à la hauteur pour y arriver j'espère avoir suffisamment détaillées mon problème pour être compris
(de mémoire j'ai déjà possédé un logiciel dans le style mais pas en .bat c'était un logiciel .exe standard avec un interface simple et clair mais impossible de me souvenir du nom)
Merci d'avance pour votre aide
A voir également:
- Copy bat
- Fichier bat - Guide
- Exact audio copy - Télécharger - Conversion & Extraction
- Bat to exe converter - Télécharger - Édition & Programmation
- Super copy - Télécharger - Gestion de fichiers
- Copy protect - Télécharger - Chiffrement
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.
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 ?
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.
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 !!
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
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
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.
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 ??