Ищу способ получить имя файла с расширением, хранящееся в переменной.
Это можно сделать в цикле for.
Цикл for я поместил внутрь метки, чтобы дальше, если это сработает, передавать путь в метку через аргумент в call.
Получился такой тестовый код:
@echo off
set "path_bin_1=d:\TEMP\test.exe"
call :testname
:testname
echo "%path_bin_1%"
for /F "delims=" %%a in ("%path_bin_1%") do (
set file=%%~fa
set filepath=%%~dpa
set filename=%%~nxa
)
goto :eof
echo "%path_bin_1%"
echo "%filename%"
pause
При запуске .cmd файла с таким содержимым - окно командной строки появляется и моментально закрывается.
Почему так? (наличие команды pause должно же это предотвращать)
Как это исправить?