W programie PowerShell, jak wyświetlić listę wszystkich plików w katalogu (rekurencyjnie), które zawierają tekst pasujący do podanego wyrażenia regularnego? Pliki, o których mowa, zawierają naprawdę długie linie niezrozumiałego tekstu, więc nie chcę widzieć pasującej linii - tylko nazwę pliku.
źródło
select -Unique
... spoko, nauczyłem się czegoś nowego. To działa idealnie, dzięki!Zauważ, że w PowerShell v1.0 i v2.0 musisz określić parametr pierwszej pozycji (ścieżkę) do pracy
-Recursion
dokumentacja technet
źródło
Użyj poniższego polecenia w katalogu, w którym chcesz wykonać „grep” i zmień,
[SEARCH_PATTERN]
aby dopasować to, co chcesz dopasować. Jest rekurencyjny, przeszukuje wszystkie pliki w katalogu.http://www.jamescoyle.net/how-to/1205-how-to-use-powershell-to-recursively-search-for-text-within-files-on-windows
źródło
Select-String ma w
-List
tym celu parametr:- ss64.com
Możesz użyć tego w następujący sposób:
Oto jak wyglądają niektóre przykładowe wyniki (wyszukiwanie zestawu Windows SDK
ERROR_SUCCESS
):Jeśli chcesz odzyskać rzeczywiste
FileInfo
obiekty (zamiast względnej ścieżki i pojedynczego wyniku dopasowania), możesz użyć tego w następujący sposób:źródło