
Eu tenho um comando Dir que uso para fazer uma lista de texto de um diretório de arquivos. "dir /a /b /-p /o:gen > z-file_list.txt"
Alguém sabe como posso mudar isso para que a lista de texto não contenha nenhuma extensão? Então, apenas o nome do arquivo?
Desde já, obrigado!
- EDITAR -
Desculpe, não fui claro. O que quero dizer é que o comando dele salvará um arquivo txt com uma lista de arquivos do conteúdo do diretório.
O arquivo de texto ficará assim:
nome do arquivo.ext
nome do arquivo.ext
nome do arquivo.ext
nome do arquivo.ext
Estou tentando descobrir como fazer com que o arquivo de texto fique assim.
nome do arquivo
nome do arquivo
nome do arquivo
nome do arquivo
Obrigado .. desculpe, não estava claro.
Responder1
O dir
comando não possui uma opção ou opção para descartar extensões.
No entanto , isso pode ser feito processando a saída dir /b
em um for /f
loop.
(del list.txt 2>nul) & for /f %f in ('dir /a /b /o:gen') do @echo %~nf >>list.txt
Se você não se importa com subdiretórios ou arquivos de sistema/ocultos (que é dir /a
para isso), então um plano for
também funcionaria.
(del list.txt 2>nul) & for %f in (*) do @echo %~nf >>list.txt
Execute dir /?
e para del /?
obter for /?
mais detalhes sobre a sintaxe e as opções.
Responder2
Você pode fazer isso no prompt do CMD com um pouco de trapaça com o Powershell. No prompt de comando, digite o seguinte:
powershell -command "dir |select basename" > file_list.txt
Como eu disse, isso é um pouco trapaceiro, pois powershell -command
invoca o shell do Powershell para executar o script do Powershell dir |select basename"
. Para sua informação, dir
no Powershell é apenas um alias para o comando get-childitem
e não tem nada a ver com o dir
comando do prompt do CMD. Powerhsell executa esse script e os resultados são retornados ao prompt do CMD e redirecionados ( >
) para o arquivo de texto.