Tente isso na linha de comando:
for /r %a in (*) do @echo %~nxa >>FilesDirectoryList.txt
No arquivo de lote (precisa dobrar os sinais de porcentagem):
for /r %%a in (*) do @echo %%~nxa >>FilesDirectoryList.txt
Com base na resposta here
Atualmente eu tenho um FileListGenerator.bat que parece assim:
dir /b /s >>FilesDirectoryList.txt
Retornando uma lista de diretórios de arquivos parecidos.
C:\Users\Ben\Desktop\Customers\Customer1
C:\Users\Ben\Desktop\Customers\Customer2
C:\Users\Ben\Desktop\Customers\FileListGenerator.bat
C:\Users\Ben\Desktop\Customers\FilesDirectoryList.txt
C:\Users\Ben\Desktop\Customers\Customer1\Analysys Mason
C:\Users\Ben\Desktop\Customers\Customer1\More
C:\Users\Ben\Desktop\Customers\Customer1\Other
C:\Users\Ben\Desktop\Customers\Customer1\Analysys Mason\Crook _ Hatchet blk white font.psd
C:\Users\Ben\Desktop\Customers\Customer1\More\Crook _ Hatchet lot.png
C:\Users\Ben\Desktop\Customers\Customer1\More\Crook _ Hatchet midd.png
C:\Users\Ben\Desktop\Customers\Customer1\Other\Crook _ Hatchet bigger.png
C:\Users\Ben\Desktop\Customers\Customer1\Other\Crook _ Hatchet botton final.png
C:\Users\Ben\Desktop\Customers\Customer2\Analysys Mason
C:\Users\Ben\Desktop\Customers\Customer2\More
C:\Users\Ben\Desktop\Customers\Customer2\Other
C:\Users\Ben\Desktop\Customers\Customer2\Analysys Mason\LiberalHand-Bld.otf
C:\Users\Ben\Desktop\Customers\Customer2\Analysys Mason\LiberalHand-Rg.ttf
C:\Users\Ben\Desktop\Customers\Customer2\Other\Crook _ Hatchet new font.png
Existe uma maneira de executar um script no arquivo .txt ou na linha de comando para retornar apenas os nomes dos arquivos?
Tente isso na linha de comando:
for /r %a in (*) do @echo %~nxa >>FilesDirectoryList.txt
No arquivo de lote (precisa dobrar os sinais de porcentagem):
for /r %%a in (*) do @echo %%~nxa >>FilesDirectoryList.txt
Com base na resposta here
Se você precisar exibir APENAS um tipo de arquivo como .txt, .doc, .dll, .exe ..etc, poderá usar o comando dir
e ajustar os parâmetros conforme necessário.
Aqui está um exemplo simples: Suponha que eu precise exibir uma lista de nomes de arquivos de texto apenas em um diretório. Eu posso usar este comando
dir *.txt /b
e ele exibirá algo assim:
file1.txt
file2.txt
file3.txt
file4.txt
...etc
você pode usá-lo em um arquivo de lote como é (algo assim):
@Echo off
:: display a list of *.txt files
dir *.txt /b
ou você pode expandir o código como quiser (algo assim):
@Echo off
:: save a list of *.txt files into another text file inside C:
dir *.txt /b > C:\results.txt
Depende do seu objetivo e de como você deseja alcançá-lo.
Você pode aprender mais sobre a linha de comando DIR a partir daqui: link
No Windows PowerShell, você pode fazer isso.
Apenas os nomes dos arquivos com o caminho completo:
(gci -r | ? {!$_.PsIsContainer}).FullName | Out-File test.txt -Force
Apenas os nomes dos arquivos mostrando apenas o nome e a extensão:
(gci -r | ? {!$_.PsIsContainer}).Name | Out-File test.txt -Force
Tags command-line windows cmd.exe