Obtém arquivos classificados sem extensão em lote

1

Eu gostaria de ter uma opção para obter todos os arquivos na pasta, apenas os nomes (sem caminho e sem extensão) e classificados por nome, em um arquivo de lote simples.

Eu sei como obter todos os nomes, mas não está ordenado:

for %%i in (*.mxf) do @echo %%~ni >> names.txt

E eu sei como organizar os nomes, mas vem com a extensão:

dir /b /o:n >> names.txt

Como posso combinar os dois comandos? Apenas os nomes e classificados.

Obrigado

    
por user2254436 04.10.2018 / 15:58

2 respostas

2

você pode canalizar a saída para o comando sort :

(for %%i in (*.mxf) do @echo %%~ni) | sort /o names.txt

No meu sistema, os arquivos já estavam classificados por padrão, então testei-o revertendo o pedido usando a opção de classificação /r .

    
por 04.10.2018 / 16:32
2

Você pode colocar o comando dir com as opções de classificação aplicáveis em um loop para / f e redirecionar a saída de lá para um arquivo dando-lhe o resultado esperado, esta é uma maneira de combinar os dois, conforme solicitado.

Exemplo de script

for /f "tokens=*" %%i in ('dir /b /o:n "*.mxf"') do @echo %%~ni >> names.txt

Mais recursos

por 04.10.2018 / 16:23