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

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Как подставить относительный путь в BAT-файл?

Ответить
Настройки темы
[решено] Как подставить относительный путь в BAT-файл?

Аватара для Avatar-Lion

Support L1+


Contributor


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


Конфигурация

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


Полчаса уже мучаю Гугл и Яндекс, но то ли я дурак, то ли лыжи не едут... Задача банальная: ВАТ-файл запускается из разных мест, т.е. путь к нему все время разный. Цель у ВАТ-файла очень простая: удалить несколько файлов и скопировать взамен них новые. Например:
Цитата:
Erase "C:\Program Files\desktop.ini"
XCopy "%~dp0\Program Files\desktop.ini" "C:\Program Files\desktop.ini"
(вместо %~dp0 должна быть текущая буква флэшки)

Пробовал также точку и %CD%, но они также не дают эффекта. Вроде абсолютно примитивное действие, но ничего не получается...

Отправлено: 22:00, 04-09-2018

 

Ветеран


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

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


Avatar-Lion, относительным путь может быть только относительно чего-то. Можно, например, пытаться использовать путь относительно самого пакетного файла. Где он расположен по отношению к тому, что требуется представить с относительным путём?

Отправлено: 22:16, 04-09-2018 | #2



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

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


Аватара для Avatar-Lion

Support L1+


Contributor


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

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


Цитата Iska:
Где он расположен по отношению к тому, что требуется представить с относительным путём? »
Да где угодно. Если надо, могу его положить рядом с теми же папками, содержимое которых буду копировать.

Суть просто в том, что наверняка потребуются права администратора, чтобы удалять файлы в системных каталогах и копировать туда новые файлы. Я планировал запускать ВАТ-файл по правой кнопке (от имени администратора). Или это не будет работать?

Отправлено: 22:26, 04-09-2018 | #3



Moderator


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

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


Avatar-Lion, ну так вы можете для тестирования просто вставить эхо:
Код: Выделить весь код
Echo %~dp0
Echo %~d0
Pause
и сразу поймёте (в первом случае - полный путь до батника, во втором - раздел, на котором лежит батник).
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:27, 04-09-2018 | #4


Аватара для Avatar-Lion

Support L1+


Contributor


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

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


Фу, чёрт, оказывается надо было %~dp0 без \ указывать... Всё, теперь все копирует. Спасибо.

Отправлено: 23:11, 04-09-2018 | #5


Ветеран


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

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


Цитата Avatar-Lion:
Я планировал запускать ВАТ-файл по правой кнопке (от имени администратора). Или это не будет работать? »
С относительными путями — навряд ли, поскольку при этом текущий каталог сменится на путь к исполняемому файлу %comspec% — обычно c:\Windows\System32. Но Вы ведь не используете относительные пути, Вы используете абсолютные.

Отправлено: 23:29, 04-09-2018 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Как подставить относительный путь в BAT-файл?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как подставить в путь переменную? Cargo Скриптовые языки администрирования Windows 5 28-03-2015 06:25
VBS/WSH/JS - [решено] Как указать относительный путь V!RTuE Скриптовые языки администрирования Windows 10 21-12-2014 12:42
CMD/BAT - [решено] Как вытащить путь из реестра и подставить его в нужное место? HuppeR Скриптовые языки администрирования Windows 15 15-10-2011 07:11
[решено] как добавить путь к текущей директории в reg файл из bat файла ? mitiya Автоматическая установка приложений 7 27-03-2008 16:12
[решено] Default User или как сделать относительный путь к нему AppleNTU Автоматическая установка Windows 2000/XP/2003 9 17-08-2007 11:52




 
Переход