[BATCH] Supprimer le début des lignes d'un fichier

Supprimer le début des lignes d'un fichier [BATCH] - Shell/Batch - Programmation

Marsh Posté le 29-05-2007 à 16:08:08    

Bonjour,  
 
J'ai écrit cette ligne:

Code :
  1. FOR /R "%CD%" %%G IN (*.wav,*.mp3) DO ECHO %%G >> liste.txt


qui me permet de lister tous les fichiers wav et mp3 du dossier à partir duquel je lance ce petit programme.
 
Donc par exemple si je lance ce programme à partir du dossier bla sur mon bureau, j'obtient la liste au format:

Code :
  1. c:\bla\son1.wav
  2. c:\bla\son2.mp3
  3. c:\bla\dossier1\son3.wav
  4. c:\bla\dossier2\son4.mp3


 
Ma question :  
 
Dans cette liste je voudrais effacer automatiquement le 'c:\bla\' qui est au début de chaques lignes, afin de retrouver une liste comme ca:

Code :
  1. son1.wav
  2. son2.mp3
  3. dossier1\son3.wav
  4. dossier2\son4.mp3


 
Tout ce que j'ai essayé n'a pas marché :/
 
L'idéal serait de supprimer avant d'écrire dans le fichier, question de rapidité..
 
Comment puis-je faire ?


Message édité par armyman le 29-05-2007 à 17:24:31
Reply

Marsh Posté le 29-05-2007 à 16:08:08   

Reply

Marsh Posté le 30-05-2007 à 16:36:03    

Voila déja une boucle qui supprime le C:

Code :
  1. for /f "tokens=2 delims=:" %%i in ('type liste.txt') do echo %%i>> liste2.txt

 

Reply

Marsh Posté le 30-05-2007 à 16:37:05    

Ah, essaye plutot ceci:

Code :
  1. FOR /R "%CD%" %%G IN (*.wav,*.mp3) DO ECHO %%~nxG >> liste.txt


 
Dans %%~nxG le n indique le nom du fichier, et le x indique l'extension


Message édité par webding le 30-05-2007 à 16:40:02
Reply

Marsh Posté le 31-05-2007 à 14:05:46    

Ta 2eme réponse était interessante mais j'ai absolument besoin des noms de dossiers (ca écrit seulement les noms de fichiers et l'extension)
 
De toute facon j'ai trouvé comment faire, et vraiment je vois pas de meilleure methode.

Code :
  1. FOR /F "TOKENS=5* DELIMS=\" %%I IN ('DIR /S /B *.wav, *.mp3') DO @ECHO %%J >> liste.txt

Le DIR fais le même travail que la boucle FOR de mon premier post, mais c'est plus rapide, et le TOKENS=5* c'est parce que mon répertoire de travail était C:\Documents and Settings\Guillaume\Bureau\sound\vehicles. C'est fou ce qu'une ligne de batch peut faire :D
 
Voilà ca devrais en aider certains peut etre.
 
Merci quand meme webding, a+.

Reply

Marsh Posté le 05-06-2007 à 15:20:02    

sinon un simple cut :

cut -c8-80



Message édité par 4get9 le 05-06-2007 à 15:20:22
Reply

Marsh Posté le 05-06-2007 à 22:58:17    

Hmm, ya pas de commande 'cut', en tout cas pas sous WinXP pro. Merci quand même :).


Message édité par armyman le 05-06-2007 à 22:59:31
Reply

Marsh Posté le 05-06-2007 à 23:00:43    

oups ! :D

Reply

Sujets relatifs:

Leave a Replay

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