BATCH recherche lignes commençant par depuis un fichier txt [Résolu/Fermé]

Signaler
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020
-
Messages postés
13543
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 juin 2021
-
Bonjour,

Je voudrais créer un petit script Batch (je connais pas/mal le batch).

voici ce que je veux faire :
- avec une boucle for, chercher dans les lignes d'un fichier txt, les lignes commençant soit par une chaîne de caractère donnée soit par une autre (2 débuts de lignes différents).
- et envoyé ces lignes entières dans un second fichier txt de sortie.
- puis remplacé le fichier d'origine par le nouveau créer.
- puis effacé le fichier intermédiaire.

Je pense que la commande c'est FINDSTR associé avec la boucle FOR.


1 réponse

Messages postés
13543
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 juin 2021
4 399
Bonjour,

Donne un exemple de contenu et un exemple de la chaîne à rechercher.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
13543
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 juin 2021
4 399 >
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020

@echo off

set rapport=%USERPROFILE%\Desktop\fichier.txt

for /f "tokens=*" %%A in ('ipconfig ^| findstr "IPv4"') do (echo %%A >> %rapport%)
for /f "tokens=*" %%A in ('ipconfig ^| findstr "Passerelle"') do (echo %%A >> %rapport%)

notepad %rapport%
echo.
pause
exit
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020

j'ai fait ça :
@echo off

set rapport=%USERPROFILE%\Desktop\ipconfigextraction.txt

for /f "tokens=*" %%A in ('ipconfig /all ^| findstr "Passerelle par défaut"') do (echo %%A >> %rapport%)
for /f "tokens=*" %%A in ('ipconfig /all ^| findstr "Serveurs DNS"') do (echo %%A >> %rapport%)

notepad %rapport%
echo.
pause
exit


et ils me renvoi aussi les suffixes DNS, comme rechercher l'expression exacte ?
Messages postés
13543
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 juin 2021
4 399 >
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020

Comme ça :
findstr /C:"Serveurs DNS"
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020

merci
Messages postés
13543
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
18 juin 2021
4 399 >
Messages postés
122
Date d'inscription
vendredi 10 février 2017
Statut
Membre
Dernière intervention
28 janvier 2020

De rien ;)