Que tal
setlocal enabledelayedexpansion
for /r %%a in (*) do echo %%a >>c:\ts_users\files_list.txt
FOR /F "tokens=4,5 delims=\" %%a in (c:\ts_users\files_list.txt) do (
set myOutput=%%a %%b %%~nb
::or whatever %%X you want
)
Em seguida, na linha que você está usando para fazer eco de todas as informações nos arquivos de log:
echo %whatever_you_are_already_using% %myOutput% >> logfile.extension
Não tenho certeza se enabledelayedexpansion
é realmente necessário, mas acho que for
loops tem seu próprio escopo no lote, por isso é o equivalente a usar static var=
. Emitir set /?
para ter certeza, não tenho o Windows aqui e não me lembro com certeza. Você pode precisar usar !myOutput!
em vez de %myoutput%
.
Quanto ao uso de lote para fazer isso ... Se você estiver familiarizado com o script em lote e chegar até aqui ... claro, fique com ele, caso contrário eu usaria algo um pouco mais dinâmico e menos complicado como o Python, desde manipulação de dados pode ser um pouco mais complicado com o lote. Não tenho certeza se ele suporta regex, mas se for, seria uma boa ideia usá-lo em vez de todos esses parâmetros for
doidos.