Eu encontrei um pequeno problema, tentando obter apenas os nomes de arquivos (sem extensões ou caminhos de arquivos) recursivamente. Isso funcionou para mim na pasta raiz:
dir /b
Mas quando adicionei / s para verificar recursivamente, também obtive caminhos de arquivos antes dos nomes de arquivos que não quero. Existe uma maneira de obter nomes de arquivos simples de todas as subpastas em um diretório?
Estou no Windows 7 x64 Eu prefiro usar o prompt de comando regular, não PS ou VBS
Tente o seguinte:
Para obter mais informações sobre como funciona e o que está fazendo, digite
for /?
fonte
>> filename.txt
ou
assumindo um arquivo
noquotes.bat
no seu % PATH% com este conteúdoabordagem for / r explicada
for /r
percorre o diretório atual recursivamente (você pode especificar um diretóriofor /r drive:\path\
, o diretório atual é assumido) e executa o comando especificado por do para cada arquivo encontrado no conjunto(*)
. O conjunto(.)
corresponderia apenas aos diretórios. @echo% ~ ni Este comando funciona como está no prompt. Dobrar suas cotações, se você colocá-lo dentro de um arquivo em lotes. iefor /r %%i in (*) do @echo %%~ni
abordagem forfiles explicada
/s
enumera os subdiretórios atual e todos os subdiretórios/c
executa o comando dentro das aspas@isdir
e@fname
é um símbolo emitido na cadeia de comandoO arquivo em lotes extra
noquotes.bat
ajuda ao eliminar as aspas duplas com% ~ 1 (parâmetro 1)forfiles
também permite especificar um caminho para iniciar emforfiles /P C:\Windows ...
fonte
Listar todos os arquivos, nus, recursivamente, usando atributos (não diretório) (somente arquivos)
dir / B / S / A: -D
C: \ teste \ cache> dir / B / S / A: -D
C: \ test \ cache \ 7 \ 0f \ 7b50ed0522645513da90345120eaf0f7 C: \ test \ cache \ d \ 23 \ 814644aa6a8195c91e54d2f7bb64e23d
fonte
dir /b /s
] digitalizar recursivamente, também obtive caminhos de arquivos antes dos nomes dos arquivos, o que não quero. ”Então, você está dizendo ao OP para tentar uma variação trivial do que eles já tentaram, e sua resposta demonstra que produz o mesmo resultado de quando o OP tentou (ou seja, não o que eles querem).