Если вы не хотите иметь дело с «кавычками», вы можете использовать переключатель «s» в% ~ dpnx [] ... это выведет короткие имена файлов, с которыми легко работать.
из командной строки ...
for /f "delims=" %f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %~sdpnxf
внутри файла .CMD / .BAT вам нужно "экранировать" [%], например, удвоение [%%]
for /f "delims=" %%f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %%~sdpnxf