Bonjour, après plusieurs heures sur un tit prog pour récupérer un type de fichier choisi sur tous les lecteurs en d'un disk défini dans les variables. j'en suis la.
Tout fonctionne.
Voyez vous par contre des choses à améliorer? Simplifier? faire autrement?
notamment sur le test des lecteurs....(peut on incrémenter facilement un caractère genre "c=c+1-->d"
Merci ++
Cela servira peut être à d'autres en plus.
Code :
- @echo on&setlocal EnableExtensions EnableDelayedExpansion
- rem definition des variable disk destination et flag
- set destfolder=g:\test
- set disk=0
- set /A flag=0
- set type=jpg
- rem reste à faire en menu pour type de fichier et destination (comon) éventuellement lecteurs à tester
- rem set de la variable disk après testdisk (mettre a:z pour tous les lecteurs)
- :0
- set disk=u:\
- goto testdisk
- :1
- set disk=d:\
- goto testdisk
- :2
- set disk=e:\
- goto testdisk
- :3
- exit
- rem test di la lettre du lecteur existe
- :testdisk
- if exist %disk% goto scan
- if not exist %disk% goto wrong
- rem scan des fichiers
- :scan
- for /f "delims=" %%Y in ('dir %disk% /b /s'
- ) do (for /f "delims=" %%Z in ('dir /B /s "%%~fY\*.%type%"') do (
- copy "%%Z" "%destfolder%\%%~nZ.jpg"
- ))
- set /A flag=%flag%+1
- goto %flag%
- rem si existe pas on augmente le flag pour tester un autre lecteur
- :wrong
- echo il n'y a pas de disque avec cette lettre!
- set /A flag=%flag%+1
- goto %flag%
|