Batch afficher les 10 derniers caractères de chaques lignes

Batch afficher les 10 derniers caractères de chaques lignes - Divers - Programmation

Marsh Posté le 27-09-2012 à 14:49:10    

Bonjour,
Je voudrais afficher les 10 derniers caractères de chaques lignes de mon fichier.txt
exemple :  
 
262CCNK6460V6J  
28493CQ0193XXX  
2356DF4546SD55
 
devrait donner :
 
CNK6460V6J
3CQ0193XXX
DF4546SD55
 
J'utilise ceci :  
 
For /f %%i in ('type fichier.txt ') do set variable=%%i
echo %variable:~-10%
 
 
Le problème avec ceci c'est que ça fait un SET sur chaques lignes et donc l'echo n'affiche que le dernier SET, donc que la dernière ligne
 
Une solution svp ?
 
 

Reply

Marsh Posté le 27-09-2012 à 14:49:10   

Reply

Marsh Posté le 27-09-2012 à 15:50:06    

Code :
  1. @ECHO OFF
  2. FOR /F %%i IN ('TYPE lastc.txt ') DO CALL :Echo "%%i"
  3. GOTO End
  4. :Echo
  5. SET last10=%~1
  6. ECHO %last10:~-10%
  7. GOTO :EOF
  8. :End

L'astuce est de faire un call sur un bloc terminé par un GOTO :EOF
Les paramètres passés au bloc lors du call sont connus comme %~1, %~2 etc dans le bloc
A+,


Message édité par gilou le 27-09-2012 à 15:57:35

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 28-09-2012 à 08:53:06    

Merci gilou, c'est parfait ! commençant dans le batch tu m'as appris une belle commande forte utile !

Reply

Sujets relatifs:

Leave a Replay

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