MS-DOS copier des fichiers

MS-DOS copier des fichiers - Shell/Batch - Programmation

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.

Reply

Marsh Posté le 30-01-2008 à 11:29:27   

Reply

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) ?


Message édité par djobidjoba le 30-01-2008 à 11:36:20
Reply

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 ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed