Quais são os comandos para exibir uma lista numerada dos arquivos em um diretório?

2

Eu quero imprimir uma lista numerada dos nomes dos arquivos em um diretório.

Eu tentei

dir /w > test.txt

Quais são os comandos para fazer isso?

    
por Mirage 21.01.2010 / 02:11

3 respostas

2
@echo off
setlocal enabledelayedexpansion
    set num=0
    FOR %%F IN (*) DO (
        set /a num += 1
        echo !num! %%~fF
    )
    echo %num% files
endlocal

"%% ~ fF" imprime o caminho completo. Para imprimir o nome curto do arquivo, use "%% F". Veja for /? perto do final para todas as expansões possíveis.

Editar : para passar um diretório, mude para

FOR %%F IN (%**) DO (

E chame-o com um nome de diretório com a seguinte barra ("C: \ Windows \", não "C: \ Windows") ou sem nome de diretório.

Você também pode alterar para o diretório com pushd %* antes do loop for e, em seguida, popd a qualquer momento após o loop for. Isso seria útil se você precisasse fazer mais do que enumerar os arquivos, mas deseja retornar ao diretório de trabalho original.

Editar : aqui está uma versão anotada mais completa. Ele também lista diretórios - eu perdi que for não faz isso por padrão:

@echo off
setlocal enabledelayedexpansion

    :: change to a dir
    pushd %*

    :: file counter
    set num=0

    :: dirs only
    FOR /D %%D IN (*) DO (
        set /a num += 1
        echo !num! %%D
    )

    :: files only
    FOR %%F IN (*) DO (
        set /a num += 1
        echo !num! %%F
    )

    :: final tally
    echo.
    echo %num% files

    :: return to original directory
    popd

endlocal

Basta salvar em um arquivo com a extensão .cmd e colocá-lo em algum lugar do caminho (por exemplo, C: \ Windows), e isso deve funcionar em qualquer sistema operacional Windows recente (testado no XP).

    
por 21.01.2010 / 03:42
0

Você pode exportar a lista de nomes de arquivos usando Exportar nomes de arquivos , colocar números e formatar a lista da maneira que quiser e imprimi-lo.

    
por 28.04.2013 / 20:03
-1

Se estiver usando o Windows com o NTFS, acho que isso pode ser feito com o mecanismo de pesquisa Tudo . Ele pode procurar por tipos de arquivo, com elementos específicos no nome do arquivo, suporta expressões regulares e pode exportar para .txt.

    
por 21.01.2010 / 03:10