MS-DOS copier des fichiers - Shell/Batch - Programmation
Marsh Posté le 30-01-2008 à 11:35:10
a la place des if tu peux peut être faire une boucle for de 1 à %%3 ( le paramètre 3 de la commande étant le nb de fichier à copier) ?
Marsh Posté le 30-01-2008 à 12:04:00
Je ne vois pas trop ce que tu veux dire... désolé !!!
Si j'ai bien compris cela voudrait dire que j'aurais deux boucle FOR les une à la suite des autres ?
Marsh Posté le 30-01-2008 à 11:29:27
Bonjour,
Dans un batch sous windows, je voudrais copier un nombre de fichiers passés en paramètre d'un répertoire classé par ordre chronologique.
C'est à dire, par exemple j'ai un dossier avec 20 fichiers et je voudrais copier les 3 fichiers les plus récent.
Voici à quoi je suis arrivé :
setlocal enabledelayedexpansion
for /f "delims=" %%f in ('dir /o-d /b "%1\*.*"') do (
set /A compteur+=1
set compteur
if !compteur! == 1 xcopy "%1\%%f" "%2"
if !compteur! == 2 xcopy "%1\%%f" "%2"
if !compteur! == 3 xcopy "%1\%%f" "%2"
)
%1 correspond au répertoire à copier
%2 correspond au répertoire de destination
Le problème, c'est que j'aimerais pouvoir passer le nombre de fichier à copier dans une variable... et c'est là que je bloque.