Posez votre question Signaler

Batch DOS findstr et FOR

sleli - Dernière réponse le 8 nov. 2010 à 11:57
Bonjour,
incroyable, voici mon script:
---
@echo off
setlocal EnableDelayedExpansion
dir /S *.xml > xml_file.txt
for /F "tokens=4" %%i IN ('findstr /r "OSFC.*[0-9].xml" xml_file.txt') DO (
echo %%i
set "TOTO = %%i"
echo.%TOTO:~13,4%
)
:EOF
endlocal
---
le fichier xml_file.txt contient
05/11/2010 16:10 3ÿ305 OSFC-NSM-MVP-0001.xml
05/11/2010 16:10 4ÿ607 OSFC-NSM-MVP-0002.xml
05/11/2010 16:10 4ÿ739 ExempleForPTT2DOORSExport.xml
05/11/2010 16:10 5ÿ002 OSFC-NSM-MVP-xxxx.xml
05/11/2010 16:10 5ÿ262 OSFC-xRM-MVP-xxxx.xml
05/11/2010 16:10 6ÿ528 TemplateForParsing.xml
---
je voudrais obtenir:
OSFC-NSM-MVP-0001.xml
0001
OSFC-NSM-MVP-0002.xml
0002
et j'obtiens
OSFC-NSM-MVP-0001.xml
0002
OSFC-NSM-MVP-0002.xml
0002
Je n'y comprens rien !
Quelqu'un a une idée ?
Merci d'avance
Stephane
Lire la suite 

Batch DOS findstr et FOR »

3 réponses
Réponse
+0
moins plus
hello
utilser des ! à la place des % dans la boucle
echo .!TOTO:~13,4! 
Ajouter un commentaire
Ce document intitulé « Batch DOS findstr et FOR » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?