Como listar nomes de arquivos no Windows como o comando find do Unix?

0

Estou procurando uma linha de comando equivalente no Windows para o seguinte comando do Unix:

find test -name '*.txt' -print

Este comando lista todos os nomes de arquivos que estão na pasta e nas subpastas 'test', com a extensão .txt. Além disso, a lista exibe o nome da subpasta no caso de o arquivo estar em uma subpasta:

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

Alguém conhece um equivalente no Windows?

    
por superrache 16.09.2014 / 13:55

3 respostas

0

O bom e velho comando "dir" pode conseguir isso. Tente dir *.txt /s . dir trabalha com caracteres curinga onde * - substituição por 0 ou mais caractere (s) ? - exatamente 1 caractere / s - viajar recursivamente em subpastas

    
por 16.09.2014 / 14:00
0

ou se você estiver usando uma versão moderna do Windows que vem com o powershell, você pode fazer:

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

que te dará algo parecido com

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

etc

    
por 16.09.2014 / 21:27
0

Você também pode considerar o Cygwin , que traz o shell do Unix e muitos pacotes para o Windows.

    
por 17.09.2014 / 09:46