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.txtem vez de> c:\file.txtpara 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.