Analyser une chaine dans un

Fermé
splizo - 6 mars 2008 à 11:36
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 6 mars 2008 à 17:35
Bonjour,

Je dois réaliser un batch (je suis bien évidemment débutant)

Je voudrais donc analyser une chaine de caractere dans un fichier ".traces"
Par exemple "toto et titi"

Si le fichier ne contient pas ce texte, je veux récupérer le nom du fichier dans test.txt

Il faut savoir que l'opération doit etre effectuée pour plusieurs textes donc:
toto et titi
pif
paf

mon batch doit donc trouver tous les fichiers .traces qui ne contiennent pas les chaines de caracteres ci-dessus et me copier le nom de ces fichiers dans un test.txt (les uns en dessous des autres).

Voila jespere avoir été assez clair lol
Merci (c'est urgent du genre c'est a faire pour hier loool)

2 réponses

up
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
6 mars 2008 à 17:35
Bonjour,

J'ai fait ça, dis-moi ce que tu en penses. Ca tourne chez moi !


rem
rem Il faut creer un fichiere de travail (ici list_criter.crit) contenant
rem le ou les critères de recherche (un par ligne).
rem Attention si plusieurs critères différents il suffit qu'un seul apparais-
rem se dans un fichier .traces pour que le nom de ce fichier ne soit
rem pas inscrit dans test.txt



SETLOCAL ENABLEDELAYEDEXPANSION
ECHO OFF

CD C:\Documents and Settings\Christian\Mes documents\BATCH_files

SET "string=bonjour"

@IF EXIST "test.txt" ( ERASE "test.txt" )

FOR %%F IN (*traces) do (
ECHO Nom du fichier : %%F
SET "nom_fichier=%%F"
SET /A "nb_fich_trouv = nb_fich_trouv + 1"
SET /A "indic_pres=0"
FOR /F "tokens=1,1* delims=" %%i in (
' TYPE %%F ^| FINDSTR /I /G:"list_criter.crit" ' ) DO (
SET /A "indic_pres+=1" )
IF "!indic_pres!" == "0" (
ECHO %%F >> test.txt )
)
IF NOT EXIST "test.txt" (
ECHO Aucun fichier n'etait exempt des chaines de caracteres >> test.txt )

ENDLOCAL
0