К echo
полные пути и имена файлов, которые вы должны перетаскивать, без двойных кавычек:
@echo off
(for %%a in (%*) do (
echo %%~a;
)
)> test.tmp
type test.tmp
pause
Чтобы включить двойные кавычки и полный путь:
@echo off
(for %%a in (%*) do (
echo %%a;
)
)> test.tmp
type test.tmp
pause
выводить только имя файла без пути:
@echo off
(for %%a in (%*) do (
echo %%~nxa;
)
)> test.tmp
type test.tmp
pause
и echo
только имя файла, исключая путь или расширение:
@echo off
(for %%a in (%*) do (
echo %%~na;
)
)> test.tmp
type test.tmp
pause
type test.tmp
просто показывает вам содержимое файла после его написания, вы можете удалить его, если он вам не нужен.
Предлагаю вам также прочитать справку по команде for
:
Наконец, если вы действительно хотите установить переменную (хотя и не нужную), вам нужно enabldelayedexpansion
или call echo %%b%%
, удвоив %