Я хочу добиться того же результата в Powershell, что и при запуске dir [pattern] /s /b в cmd.exe.

Рекурсивный поиск по каталогу с фильтром, распечатывая только полные пути к найденным файлам.

2 ответа2

3

dir -Filter *.txt -Recurse | Select Fullname

(Dir - псевдоним PowerShell для Get-ChildItem).

Fullname включает путь (например, /B), если вы просто хотите, чтобы имена файлов, используйте Select Name .

1
Get-ChildItem . -recurse | Select-Object Name

. означает "эта папка" а .. будет означать родительскую папку этой папки. Это пример вывода, который я получаю:

Name
----
0409
1033
AdvancedInstallers
appmgmt
ar-SA
BestPractices
bg-BG
Boot
catroot
catroot2
CodeIntegrity
com
config
cs
cs-CZ
da-DK
de

для включения шаблона используйте -filter или -include. Лично я использую -include, потому что он кажется мне более интуитивным. Это также позволяет использовать несколько шаблонов:

Get-ChildItem . -recurse -include *.exe, *.dll | Select-Object Name

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