Tente substituir esta linha:
for /r E:\ %%i in (*) do (echo %%i >> C:\Users\Blm\Desktop\folder\%VAR%.txt)
Com este:
dir /s/o/b /a E:\ > C:\Users\Blm\Desktop\folder\%VAR%.txt
As linhas a seguir permitiram listar todos os arquivos, pastas e subpastas no arquivo TXT, mas o problema é que os arquivos ocultos não são incluídos no arquivo TXT. Então, o que devo fazer?
@echo off
set /a VAR=%random%
mkdir C:\Users\Blm\Desktop\folder\
for /r E:\ %%i in (*) do (echo %%i >> C:\Users\Blm\Desktop\folder\%VAR%.txt)
pause
dir /s /ah /b
/s
inclui s pastas-ub /ah
incluir arquivos /b
em b são formato (somente lista de arquivos, sem colunas para tamanho ou tipo) você não precisa usar for
loop para simplesmente listar uma árvore de diretórios
Você pode usar attrib /s /d
em vez de dir
para uma função semelhante, mas saída diferente exibindo os atributos de arquivo e pasta (isto é, se eles estiverem ocultos, sistema, tipo de arquivos etc.)
Além disso, você pode considerar usar tree /f
, para uma melhor formatação de saída, embora sem mostrar os arquivos ocultos
Tags command-line windows batch