У меня есть 100 файлов .sql, и я хотел бы проверить, включен ли String "Das ist ein Test"
в эти файлы.PowerShell: как избавиться от выходных строк в поиске рекурсивных данных
До сих пор я нашел только командное устройство Select-String
. Это дает мне, однако, только файлы, в которых найден String.
Вот мой PowerhShell сценарий:
$path = "F:\Masterarbeit\Daten\"
$search = "Das ist ein Test"
Get-ChildItem $path -Filter *.sql -Recurse | Select-String -Pattern $search -casesensitive | select FileName
exit
И это выход я получаю:
Как я теперь могу изменить свой код так, что я получаю только имя файла, где строка не содержится вообще? Я также знаю, что есть параметр, называемый -NotMatch
, но, к сожалению, он возвращает только все строки, где строка не найдена.
ах хорошо, спасибо за совет, но теперь я получаю сообщение об ошибке, что путь не найден -> Например: 'Get-Content: путь«C: \ Windows \ system32 \ Daten_1.sql "не может быть найден, потому что он не существует + $ test = Get-Content $ file | Select-String $ search'. Я немного смущен сообщением об ошибке. – Steffi
Очевидно, что файл $ file не возвращает полный путь. Мне пришлось добавить '.FullName', чтобы он работал. – Swonkie