Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Последний символ при раскрытии %~dp0

Ответить
Настройки темы
CMD/BAT - [решено] Последний символ при раскрытии %~dp0

Новый участник


Сообщения: 22
Благодарности: 3

Профиль | Отправить PM | Цитировать


Здравствуйте товарищи!

Подскажите каким способом проще всего отрезать последний символ при раскрытии %~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
не сильно читаем, особенно, когда скрипт длинный и таких строк имеет много.

Поделитесь опытом и мыслями, пожалуйста.

Отправлено: 15:50, 23-07-2011

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
Set RunPath=%~dp0
Set RunPath=%RunPath:~0,-1%
Echo %RunPath%\Program1\program.exe
Pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:34, 23-07-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Код: Выделить весь код
set "runpath=%~dp0\"
echo %runpath:\\=\%Program1\prog.exe

Отправлено: 18:31, 23-07-2011 | #3


Старожил


Сообщения: 352
Благодарности: 119

Профиль | Отправить PM | Цитировать


Emulty
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe

Отправлено: 18:44, 23-07-2011 | #4


Новый участник


Сообщения: 22
Благодарности: 3

Профиль | Отправить PM | Цитировать


Спасибо всем за подсказки и отдельное gora!
* Сам периодически пишу относительно простые скрипты, многих нюансов еще не знаю, поэтому обратился за помощью.

==
kiripanda написал:
В каком случае неработоспособен X:\Folder\\Program1\program.exe ?
Попробуйте %RunPath%.\Program1\program.exe
==
Точно не помню, но был случай, когда один рабочий скрипт перенес с Win2003 на Win2008R2 и он перестал работать. Там вроде бы путь к исполняемому файлу перестал работать, то ли в параметрах у исполняемого файла был раскрывающийся путь к файлу из такой переменной. Когда убрал лишний слеш, все пошло.

Отправлено: 14:35, 24-07-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Последний символ при раскрытии %~dp0

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Как изменить расположение элементов на форме при раскрытии её на весь экран? Ghost Программирование и базы данных 2 12-04-2010 01:01
Ошибка - [решено] не вводится один символ в окне пароля при выходе из заставки sanyajaunty Microsoft Windows 2000/XP 8 30-10-2008 10:07
[решено] Проблема с %~dp0 Stalingrad Автоматическая установка приложений 2 30-10-2007 12:02
Не отображается символ AlexSan Microsoft Windows Vista 1 15-04-2007 20:26
Исчезающий символ Newb Программирование и базы данных 8 12-12-2005 11:09




 
Переход