Trouver 2 valeurs dans le fichier avec la commande-ligne | CMD
Ce code ci-dessous me permet de trouver le mot "erreur" dans tous mes fichiers à l'aide de ligne de commande (CMD).
find /c "error" C:\MyFiles\*.txt
Mais je veux chercher le mot "erreur" et "avertissement" en même temps.
Donc je veux mettre ces 2 lignes, 1 ligne de commande.
find /c "error" C:\MyFiles\*.txt
find /c "warning" C:\MyFiles\*.txt
Je ne veux pas voir les 2 ensembles de résultats.
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner (
FINDSTR
divise la chaîne de recherche à des espaces, de sorte qu'il semble pour word).Comme devrait l'être c'est l'équivalent de recherche:
Cependant, il y a ce bug: Pourquoi n'est-ce pas FINDSTR exemple avec plusieurs littérale des chaînes de recherche de trouver un match?. Je ne suis pas sûr si les recherches répondent aux critères qui spécifient quand le bug pourrait affecter les résultats. (Je ne sais pas si il y a assez de chevauchement entre les chaînes de recherche.) Mais il vaut mieux être prudent que désolé.
Vous pouvez éliminer la possibilité que le bug soit en faisant de la recherche insensible à la casse (je ne sais pas si cela répond à vos besoins ou pas):
ou vous pouvez convertir votre recherche de chaînes de caractères dans les expressions régulières. C'est trivial à mettre en œuvre dans votre cas, puisqu'il n'y a pas de regex méta-caractères qui ont besoin de s'échapper dans votre recherche des chaînes.
Dans votre cas, vous pouvez simplement utiliser un tuyau pour réaliser le ET opérateur.
De votre commentaire, vous avez besoin d'un
OR
opérateurDans ce cas, je voudrais faire de la recherche avec
findstr
et le comptage avecfind /c
AND
. Mais il semble que vous avez besoin d'unOR
solution.