Comando Batch para excluir arquivos da lista de arquivos [duplicado]

1

Este código funciona bem. Exclui arquivos de uma lista de arquivos:

For /f %%a in (file.lst) do del %%a

Mas por que o abaixo não está funcionando? Exclui o arquivo .lst :

if exist file.lst (   
  set filelist="file.lst"    
) else (    
  set filelist="default.lst"    
)    
for /f %%b in (%filelist%) do del %%b    

Além disso, isso não está funcionando também:

for /f %%b in ("%filelist%") do del %%b        

file.lst e default.lst contêm algo assim:

d:.txt    
d:.txt    
d:\abcd.bmp
    
por Meisam Moradi 04.07.2013 / 09:10

2 respostas

1

for /f interpreta o conteúdo de colchetes como este:

  • file - o arquivo é processado linha por linha.
  • "text" - apenas o texto é processado.
  • 'command' - a saída do comando é processada linha por linha.

É assim que você deve editar seu lote:

if exist file.lst (
    set "filelist=file.lst"
) else (
    set "filelist=default.lst"
)
for /f %%b in (%filelist%) do del "%%b"
    
por 16.07.2013 / 23:31
0

Qual é a necessidade de for ao excluir o arquivo da lista? Apenas use algo como:

if exist filename del filename
    
por 04.07.2013 / 10:58