Я смотрел на этот другой вопрос, но не был уверен, как объединить эти запросы вместе.

Я начал с этого, но это, похоже, не работает:

findstr /S /M "string A" *.vb | findstr /S /M /V "string B" > output.txt

Например, я хочу получить список файлов, содержащих "строку A", но НЕ "строку B".

Я хотел бы использовать командную строку Windows, если это возможно, или Windows PowerShell.

1 ответ1

1

Это должно сделать это в powershell:

Get-ChildItem .\*.vb | Select-String A | Select-Object path -unique | Where-Object{!(Select-String -InputObject $_ -Pattern B)}

Чтобы включить подпапки:

Get-ChildItem .\*.vb -Recurse | Select-String A | Select-Object path -unique | Where-Object{!(Select-String -InputObject $_ -Pattern B)}

Я не уверен, что ваш конкретный пример отличается от моего макета, но, используя ваши конкретные условия поиска, попробуйте это:

Get-ChildItem .\*.vb -Recurse | Select-String HttpDelete | Select-Object path -unique | Where-Object{!(Select-String -InputObject (Get-Content $_.Path) -Pattern securityEntityPermission)}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .