Quando você clica duas vezes em um arquivo em lotes do Windows Explorer, o diretório padrão é definido para o local do arquivo em lotes. Portanto, o script simples a seguir deve funcionar desde que seja chamado clicando duas vezes nele.
@dir /b /a-d >files.txt
Se você quiser que o script funcione independentemente de como ele foi chamado,
@dir /b /a-d "%~dp0" >"%~dp0files.txt"
Observe que %~dp0
avalia o caminho do script atualmente em execução, incluindo um \
.