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

Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 11:15 - Dernière réponse : barnabe0057 11656 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention
- 8 juin 2017 à 13:18
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.


Afficher la suite 

11 réponses

Répondre au sujet
barnabe0057 11656 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 8 juin 2017 à 11:19
+1
Utile
10
Bonjour,

Donne un exemple de contenu et un exemple de la chaîne à rechercher.
Cette réponse vous a-t-elle aidé ?  
barnabe0057 11656 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 11:45
@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
Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 12:09
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 ?
barnabe0057 11656 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 12:16
Comme ça :
findstr /C:"Serveurs DNS"
Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 13:14
merci
barnabe0057 11656 Messages postés lundi 2 mars 2009Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > Paullux_1er 64 Messages postés vendredi 10 février 2017Date d'inscription 11 décembre 2017 Dernière intervention - 8 juin 2017 à 13:18
De rien ;)
Commenter la réponse de barnabe0057