Я ищу эквивалентную командную строку в Windows для следующей команды Unix:

find test -name '*.txt' -print

Эта команда перечисляет каждое имя файла, которое находится в папке и подпапках 'test', с расширением .txt. Кроме того, в списке отображается имя подпапки в случае, если файл находится в подпапке:

file1.txt
sub/file2.txt
sub/file3.txt
sub2/file4.txt
file5.txt

Кто-нибудь знает аналог на Windows?

3 ответа3

0

Вы можете также рассмотреть возможность использования Cygwin, которая предоставляет вам оболочку Unix и множество пакетов для Windows.

0

или если вы используете современную версию Windows, которая поставляется с PowerShell, вы можете сделать:

  get-childitem *.txt -recurse|Foreach-Object -Process { Resolve-Path -Relative $_.FullName}

что даст вам что-то вроде

.\subdir\test.txt
.\subdir2\test1.txt

так далее

0

Старая добрая команда "dir" может этого добиться. Попробуйте dir *.txt /s . dir работает с подстановочными символами, где * - замена 0 или более символов? - ровно на 1 символ / с - рекурсивно перемещаться в подпапки

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