Eu tenho um script em lote do Windows delete.bat
com esse conteúdo:
@echo off
takeown.exe /A /R /F %1
icacls %1 /grant Administrators:(OI)(CI)F /C /T /Q /L
rmdir /S /Q %1
echo %cd%\%1 >> "C:\delete.txt"
Agora eu quero passar um arquivo txt para esse script como delete.bat < C:\delete.txt
e o script deve processar cada linha do stdin como parâmetro %1
.
Como posso fazer um while(!feof(stdin))
e var line = fgets(stdin)
depois substituir %1
por %line%
?
Você precisaria usar o comando FOR /F , descrito como:
Exemplo: Copie os arquivos listados em um arquivo de texto para um novo destino:
Em vez de gerar uma lista de arquivos, gere uma lista de comandos em lote:
Em seguida, basta executar o arquivo como um script em lote.