Здравствуйте товарищи!
Подскажите каким способом проще всего отрезать последний символ при раскрытии %~dp0
Например есть батник, где есть необходимость определить переменную каталога из которого запускаем скрипт
==
%~dp0=RunPath
%RunPath%\Program1\program.exe
==
В итоге строка раскрывается в :
X:\Folder\\Program1\program.exe
В некоторых случаях двойной слеш \\ ничего не играет, в некоторых путь становиться не действительным. Я понимаю, что можно написать так:
%RunPath%Program1\program.exe
и на выхлопе будет уже все по человечески:
X:\Folder\\Program1\program.exe
Но вид:
%RunPath%Program1\program.exe
не сильно читаем, особенно, когда скрипт длинный и таких строк имеет много.
Поделитесь опытом и мыслями, пожалуйста.
CMD/BAT - [решено] Последний символ при раскрытии %~dp0
-
gora
Re: CMD/BAT - [решено] Последний символ при раскрытии %~dp0
Код:
Код: Выделить всё
@Echo Off
Set RunPath=%~dp0
Set RunPath=%RunPath:~0,-1%
Echo %RunPath%\Program1\program.exe
Pause-
Foreigner
Re: CMD/BAT - [решено] Последний символ при раскрытии %~dp0
Код:
Код: Выделить всё
set "runpath=%~dp0\"
echo %runpath:\\=\%Program1\prog.exe-
Foreigner
Re: CMD/BAT - [решено] Последний символ при раскрытии %~dp0
Emulty
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe
-
kiripanda
Re: CMD/BAT - [решено] Последний символ при раскрытии %~dp0
Спасибо всем за подсказки и отдельное gora!
* Сам периодически пишу относительно простые скрипты, многих нюансов еще не знаю, поэтому обратился за помощью.
==
kiripanda написал:
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe
==
Точно не помню, но был случай, когда один рабочий скрипт перенес с Win2003 на Win2008R2 и он перестал работать. Там вроде бы путь к исполняемому файлу перестал работать, то ли в параметрах у исполняемого файла был раскрывающийся путь к файлу из такой переменной. Когда убрал лишний слеш, все пошло.
* Сам периодически пишу относительно простые скрипты, многих нюансов еще не знаю, поэтому обратился за помощью.
==
kiripanda написал:
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe
==
Точно не помню, но был случай, когда один рабочий скрипт перенес с Win2003 на Win2008R2 и он перестал работать. Там вроде бы путь к исполняемому файлу перестал работать, то ли в параметрах у исполняемого файла был раскрывающийся путь к файлу из такой переменной. Когда убрал лишний слеш, все пошло.