Запуск PowerShell cmd с конвейером в командной строке cmd

Я хочу запустить cmd select-string в командной строке cmd, чтобы найти рекурсивную строку.

Но он не может работать, пока cmd имеет символ конвейера (|), и он будет работать, запустив cmd в командной строке powershell.

введите описание изображения здесь

Информация об ошибке на китайском:

'select-string' is not recognized as an internal or external command,
operable program or batch file.

Может кто-нибудь знает как это исправить? Сделайте смысл конвейера в командной строке cmd или используйте select-string найти строку рекурсивную.

Я хочу, чтобы это работало в моем случае, большое спасибо.

1 ответ

Как предлагается в комментарии, вам нужно использовать pipe в PowerShell, а не в cmd. Вы можете сделать это так:

powershell "Get-ChildItem | Select-String -Pattern 'something something'"

Примечание. Конечно, это всего лишь обходной путь, я бы по-прежнему предлагал просто запускать командлеты PowerShell в PowerShell, а не в cmd. Это может избавить вас от головной боли от устранения неполадок неработающего кода.

Другие вопросы по тегам