Duvidas no script bat

Excluir arquivos temporários de cada usuário
for /f %%i in (usuarios.txt) do (
echo Limpando pasta Temp de %%i…
del /q /f /s “C:\Users%%i\AppData\Local\Temp*.*”
)

:: Limpar cache do Internet Explorer
for /f %%i in (usuarios.txt) do (
echo Limpando cache do IE de %%i…
del /q /f /s “C:\Users%%i\AppData\Local\Microsoft\Windows\INetCache*.*”
)

:: Limpar cache do Chrome
for /f %%i in (usuarios.txt) do (
echo Limpando cache do Chrome de %%i…
del /q /f /s “C:\Users%%i\AppData\Local\Google\Chrome\User Data\Default\Cache\Cache_Data*.*”

:: Limpar logs do sistema
echo Limpando arquivos de log…
del /q /f /s “C:\Windows\Temp*."
del /q /f /s "C:\Windows\prefetch*.

Tenho uma duvida: Em qual diretorio executar o .bat? Usuarios txt tem que está no mesmo diretorio do .bat? E finalmente o que significa %% i. e qual o conteudo do usuarios.bat

Em qual diretorio executar o .bat?

Se vc está desenvolvendo um arquivo de lote para limpar arquivos de localizações predefinidas, deveria poder executar em qualquer lugar.

Usuarios txt tem que está no mesmo diretorio do .bat?

Da forma que está, sim.

E finalmente o que significa %% i.

https://superuser.com/questions/670992/what-does-the-percent-sign-and-in-a-batch-file-argument-mean

Agora, para te incomodar. Você parou para pensar que nem todo mundo tem o Windows instalado na unidade C?

Outra coisa, para aumentar a compatibilidade, não sei em que versão do Windows vc vai rodar isso ai, use REM ao invés de :: para definir comentários. Você vai evitar dor de cabeça em algumas situações inclusive.