Algo como:
for /r %i in (*) do rar a "%~ni%~xi.rar" "%~ni%~xi"
Vai funcionar. Se você colocar isso em um arquivo de lote duplo nos sinais %
. Assim:
for /r %%i in (*) do rar a "%%~ni%%~xi.rar" "%%~ni%%~xi"
Você pode substituir o *
por um caminho de diretório real ou uma variável de parâmetro em lote se não quiser que isso funcione no diretório atual.
Eu usei alguns modificadores de variáveis especiais aqui. Uma lista parcial dos disponíveis é:
filedrive=%~di
filepath=%~pi
filename=%~ni
fileextension=%~xi