У меня есть хороший менеджер файлов консоли (eXtreme by Senh Liu), он передает короткие пути/имена файлов в качестве переменных в menu.bat.
Как я могу сгенерировать полное имя папки + длинное имя файла?
Пример:
- input variable = "P:\MYPROG ~ 1\SHELLS\ZBACKUP\REFSTO ~ 1.BAL"
- target variable = "P:\MyPrograms\SHELLS\zBackup\RefsToMyData.bal"
Я пробовал следующее:
-
SET my_file=%~2
:echo %my_file%
производит:"P:\MYPROG~1\SHELLS\ZBACKUP\REFSTO~1.BAL"
-
FOR /F "tokens=* USEBACKQ" %%F IN (`dir /B %2`) DO SET my_file=%%~fF
:echo %my_file%
производит:"P:\MYPROG~1\SHELLS\zBackup\RefsToMyData.bal"
-
FOR /F "tokens=* USEBACKQ" %%F IN (`dir /B %2`) DO SET my_file=%%~dpnxF
:echo %my_file%
производит:"P:\MYPROG~1\SHELLS\zBackup\RefsToMyData.bal"