[.bat] Lister les 4 derniers fichiers

Lister les 4 derniers fichiers [.bat] - Shell/Batch - Programmation

Marsh Posté le 08-03-2006 à 18:12:47    

Bonjour,
 
Depuis quelques semaines, je me suis mis au podcasting et pas soucis de rapidité/simplicité (ou de fainiantise  :lol: ) j'aimerai automatiser le rapatriment des fichiers mp3 sur mon baladeur mp3.
 
Petite parenthese: Pour ceux qui ne connaissent pas le podcasting c'est tout a fait legal, cela permet de télécharger les emissions de radio du genre "les grosses tetes" :p
 
Techniquement parlant j'ai le logiciel Juice qui verifie toutes les 30 mins les podcasts et ecrit les fichiers mp3 dans C:\RTL\RTL  Les Grosses Têtes . Quand je connecte mon baladeur mp3, un autorun se declenche et un bat rapatrie les 4 nouveaux mp3 mais ne les reecrit pas si ceux ci existent ... le souci a cette technique c'est que le baladeur n'est pas illimité en taille, et donc il faudrai que seul les 5 derniers episodes soit sur le baladeur ...
 
J'ai essayé divers outils de syncronisation, mais aucun ne m'a satisfait pleinement (meme windows media 10 qui syncronise tout et n'importe ou...)
 
Pour l'autorun, ca ne pose pas de probleme mais pour le .bat en revanche ... c'est la misère, j'arrive a lister le dernier episode (le nom de fichier possede un numero, donc en le classant j'arrive a avoir le dernier ...)  
 
Je ne pense pas que cela demande 1000 lignes de code, je recherche juste quelque chose qui marche :p
 
Merci de votre aide :hello:  
 
Pour les noms de fichier, il s'agit de :  
 
podcasting_temp_0000420_420453_(etc...)
podcasting_temp_0000420_420194_(etc...)
 
Le plus recent etant en premier ....

Reply

Marsh Posté le 08-03-2006 à 18:12:47   

Reply

Marsh Posté le 09-03-2006 à 15:21:47    

up svp

Reply

Marsh Posté le 10-03-2006 à 21:40:53    

Bonjour,
 
Après avoir trouvé le critère de tri qui mettra les 5 fichiers souhaités en premier avec la commande dir (ici pour l'exemple ordre alphabétique inversé)
 
setlocal enabledelayedexpansion
set /a count=0
for /f "delims=" %%a in ('dir /o:-n /b "c:\chemin\pod*.mp3"') do (
     set /a count+=1
     if !count! lss 6 copy %%a "c:\destination\"
)
endlocal
 
voir l'aide de la commande dir et nottamment le commutateur /t qui trie en fonction de la date des fichiers

Reply

Marsh Posté le 11-03-2006 à 11:51:09    

Ca fontionne !!!!
J'ai fusioné le code que j'avait fait avec le tient et ca fonctionne comme je veux !
 
Pour ceux que ca interesse, placez ca sur votre baladeur dans le dossier ou vous voulez que ca aille et faites un autorun pour que ca le lance qd vous connectez la clef (attention il va sans doute y avoir une erreur si vous connectez la clef sur un pc autre que le votre mais ceci doit pouvoir facilement se verifier ... notamment savoir si le dossier existe ...)
 

Citation :

@echo off
 
setlocal enabledelayedexpansion
set /a count=0
set last_x_files=4
set ordinateur=c:\RTL\RTL  On refait le Match
 
echo + Mise a jour des %last_x_files% derniers fichiers ...
for /f %%a in ('dir  /b /od /a-d "%ordinateur%\*.mp3"') do (
 set /a count+=1
 if !count! GTR %last_x_files% goto end
 if exist %%a echo      - Ce fichier existe deja !
 if not exist %%a copy "%ordinateur%\%%a" %%a
 
)
 
:end
endlocal


 
Merci beaucoup pascale73 ;)

Reply

Sujets relatifs:

Leave a Replay

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