Попробуй вместо %L поставить %l или %D. И скрести пальцы - если у твоих файлов нет дополнительных коротких имен, ничего не выйдет.
Еще можно переделать командный файл, чтобы передавать имена как параметры - тогда будут работать в нормальной кодировке, но длина командной строки ограничена (не знаю, каков предел, в справке по ТК написано, что 32767 символов
Код: Выделить всё
@echo off
:loop
if -%1==- pause && cls && goto :EOF
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -9 --lzma --compress-icons=0 %1
shift
goto loop