Batch MSDos extraction chaines caractères
Tifab27
-
dubcek Messages postés 19023 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 19023 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un petit soucis de batch. J'ai le fichier .txt ci dessous :
je cherche à extraire des chaines de caractère pour les envoyer dans un nouveau fichier texte pour obtenir ceci :
J'ai essayé des boucles de ce type :
for /f "eol=; tokens=1 delims=" %%N in (%monfichier%) do (
echo %%N>>C:\result.txt
)
mais ça ne fonctionne pas car les champs séparateurs sont tous différents.
Une idée ????
Merci
j'ai un petit soucis de batch. J'ai le fichier .txt ci dessous :
R‚pertoire de W:\IMBY5843\My Documents 17/07/2009 14:18 <REP> OutlookSoft R‚pertoire de W:\FRPS7596\My Documents 05/03/2009 12:55 <REP> OutlookSoft R‚pertoire de W:\zfrl3150\My Documents 28/07/2009 09:51 <REP> OutlookSoft
je cherche à extraire des chaines de caractère pour les envoyer dans un nouveau fichier texte pour obtenir ceci :
IMBY5843 17/07/2009 14:18 FRPS7596 05/03/2009 12:55 zfrl3150 28/07/2009 09:51
J'ai essayé des boucles de ce type :
for /f "eol=; tokens=1 delims=" %%N in (%monfichier%) do (
echo %%N>>C:\result.txt
)
mais ça ne fonctionne pas car les champs séparateurs sont tous différents.
Une idée ????
Merci
A voir également:
- Batch MSDos extraction chaines caractères
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères spéciaux - Guide
- Fichier batch - Guide
- Caractères ascii - Guide
- Caracteres speciaux - Guide
3 réponses
hello
$ type f1.txt Répertoire de W:\IMBY5843\My Documents 17/07/2009 14:18 <REP> OutlookSoft Répertoire de W:\FRPS7596\My Documents 05/03/2009 12:55 <REP> OutlookSoft Répertoire de W:\zfrl3150\My Documents 28/07/2009 09:51 <REP> OutlookSoft $ aa IMBY5843 17/07/2009 14:18 FRPS7596 05/03/2009 12:55 zfrl3150 28/07/2009 09:51 $ type aa.bat @echo off setlocal enableDelayedExpansion for /f "tokens=3,5,6" %%a in (f1.txt) do ( set x=%%a set x=!x:\= ! for /f "usebackq tokens=2" %%d in (`echo !x!`) do echo %%d %%b %%c )
Hello dubcek,
il fonctionne super bien ton script... merci beaucoup :-)
De mon côté un collègue m'a aussi donné un coup de main. Ca ressemble étrangement à ce que tu as fait :
Encore Merci !
il fonctionne super bien ton script... merci beaucoup :-)
De mon côté un collègue m'a aussi donné un coup de main. Ca ressemble étrangement à ce que tu as fait :
SetLocal enabledelayedexpansion
SetLocal enableextensions
SET file_user="C:\users.txt"
SET tmp="C:\tmp.txt"
SET last_date_used=c:\last_date_used.csv
Type NUL >%last_date_used%
Type NUL >%liste_users%
Type NUL >%tmp%
SET rep_tmp="My Documents"
SET rep_tmp=!rep_tmp:~1,-1!
FOR /F "tokens=1 delims=$" %%A IN ('type "%file_user%"') DO (
DIR "w:\%%A\!rep_tmp!\Outlooksoft.*" /N>%tmp%
FOR /F "tokens=1 delims= " %%d IN ('type "%tmp%" ^| FINDSTR "OutlookSoft"') DO (
echo.%%A;%%d>>%last_date_used%
)
)
Encore Merci !
on peut simplifier
$ type f1.txt
Répertoire de W:\IMBY5843\My Documents 17/07/2009 14:18 <REP> OutlookSoft
Répertoire de W:\FRPS7596\My Documents 05/03/2009 12:55 <REP> OutlookSoft
Répertoire de W:\zfrl3150\My Documents 28/07/2009 09:51 <REP> OutlookSoft
$ aa
IMBY5843 17/07/2009 14:18
FRPS7596 05/03/2009 12:55
zfrl3150 28/07/2009 09:51
$ type aa.bat
@echo off
for /f "tokens=4,7,8 delims=\ " %%a in ('type f1.txt') do echo %%a %%b %%c