erros de sintaxe do dir
Você está usando o comando:
dir "directory" / s / b> c: \ file.txt
Você não pode ter espaços entre as partes de um nome do arquivo , portanto, c: \ file.txt
deve ser c:\file.txt
.
Se filename
contiver espaços, por exemplo, "c:\filename with space.txt"
.
Embora não seja requerido, é normal não ter um espaço após o / que especifica uma opção de comando. Então seu comando deve ser algo como:
dir "directory" /s /b > c:\file.txt
Como faço para obter uma lista de arquivos ( .wav
) e salvar com esta formatação?
?C:\Full Name.wav
Use o seguinte comando:
dir "directory\*.wav" /s /b >> c:\file.txt
Se você deseja prefixar o nome com ?
(conforme o seu exemplo), use o seguinte comando:
for /f "usebackq tokens=*" %a in ('dir /b /s "directory\*.wav"') do echo ?%a >> c:\file.txt
Notas:
- Para usar o comando anterior em um arquivo de lote, substitua cada
%
por%%
. - No comando
for /f
, use>> c:\file.txt
em vez de> c:\file.txt
para acrescentar, em vez de sobrescrever a saída a cada vez que passar pelo loop.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- dir - Exibe uma lista de arquivos e subpastas.
- para / f - Comando Loop contra os resultados de outro comando.