#windows #powershell #command-line #command-prompt
#Windows #powershell #командная строка
Вопрос:
Я пытаюсь найти команду в командной строке, которую я знаю в Linux Ubuntu, но мне нужно применить ее в Microsoft.
Более того, я пытаюсь найти все файлы в папке с определенным именем. В частности, я пытаюсь найти все файлы, в названии которых содержится термин «тест». Вот команда, которую я знаю в Linux:
find homeuserdata -name '*test*'
Кто-нибудь знает эквивалент в командной строке Windows?
Комментарии:
1. Я считаю, что все предыдущие ответы являются хорошими вариантами для Windows. В моем случае я хотел как можно точнее эмулировать команду Linux, чтобы воспроизвести среду моего сервера CI. Итак, я обнаружил, что старая добрая команда find доступна и для Windows. gnuwin32.sourceforge.net/packages/findutils.htm
Ответ №1:
Вы будете искать Get-ChildItem
Get-ChildItem C:Test -Filter "*test*"
Комментарии:
1. Вы можете добавить
-Recurse
для поиска во вложенных папках.
Ответ №2:
В PowerShell вы можете использовать Get-ChildItem
для поиска файлов и папок.
Если вы хотите использовать регулярные выражения, вы можете объединить их Get-ChildItem
с командлетами Select-String
или Where-Object
.
Get-ChildItem -Path C: -Recurse | Select-String -pattern "Regex"
Get-ChildItem -Path C: -Recurse | Where-Object -FilterScript {$_.name -match "regex"}
Ответ №3:
Вы ищете команду «dir». Чтобы выполнить то же самое, что и при первоначальном поиске, вы бы использовали
dir homeuserdata "*test*"
Комментарии:
1. dir — это псевдоним для
get-childitem
.Get-Alias dir