[BATCH] For & Findstr

Signaler
Messages postés
45
Date d'inscription
mardi 6 juillet 2010
Statut
Membre
Dernière intervention
13 février 2020
-
dubcek
Messages postés
18076
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 février 2020
-
Allo ;)

Je n'arrive pas a obtenir quelque chose de simple pourtant ..

Je vous explique, mon script doit générer un nom de PC puis vérifier si ce nom n'existe pas déjà dans le fichier AP-LPT.txt

Si il existe, il continue a créer jusqu’à créer 1 nom qui n'existe pas dans le fichier me le donner et s'arreter

Sinon il s’arrête et me dit ok ce nom n'existe pas tu peux le garder

Mon but est de récupérer le nouveau nom fraîchement crée et l'exporter vers un autre fichier hostnames.txt apres :)

La nomenclature du nom des PC est la suivante : AP-LPT-***

Je génère mes noms de PC via

FOR /l %%G in (1,1,999) echo AP-LPT-%%G


Ce qui me génère :
AP-LPT1
AP-LPT2
AP-LPT3

etc jusqu'a AP-LPT999

Je suppose qu'il faut que j'utilise la commande findstr mais je ne sais pas comment l'utiliser :/

par avance merci

1 réponse

Messages postés
18076
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 février 2020
4 650
hello
ok : findstr a trouvé %%G dans le fichier
@echo off
setlocal enableDelayedExpansion
FOR /l %%G in (1,1,999) do (
 findstr /r /c:AP-LPT-%%G$ AP-LPT.txt >NUL
 if !ERRORLEVEL! EQU 0 (
    echo ok %%G
 ) else (
    echo nok %%G
  )
)
redploplop
Messages postés
45
Date d'inscription
mardi 6 juillet 2010
Statut
Membre
Dernière intervention
13 février 2020

Super ca fonctionne parfaitement bien !!

Il y a juste une petite faute /c:AP-LPT-%%G$ est en trop je crois ;)

MERCI !!!
dubcek
Messages postés
18076
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
28 février 2020
4 650 > redploplop
Messages postés
45
Date d'inscription
mardi 6 juillet 2010
Statut
Membre
Dernière intervention
13 février 2020

non, $ implique en fin de ligne, sinon, chercher AP-LPT-3 va aussi trouver AP-LPT-33 et AP-LPT-333
voir help findstr
Petit guide des options usuelles :
  .        Caractère joker = tout caractère
  *        Répétition : zéro occurrences ou plus du caractère ou de la classe
           précédents
  ^        Emplacement : début de ligne
  $        Emplacement : fin de ligne
........