Гость
Форумы / Windows [игнор отключен] [закрыт для гостей] / Получение реального (не symlink) текущего пути в теле bat-файла / 6 сообщений из 6, страница 1 из 1
01.09.2018, 17:14
    #39696675
NETClient
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
Есть каталог, в котором лежит файлик run.bat. В теле этого файла есть обращение к %~dp0 для получения текущего пути. Файл запускается в cmd-консоли. На этот каталог создан symlink.
Так вот если до этого каталога добраться разными путями (через symlink или по реальному пути) эта штука выдает в первом случае путь symlink, во втором - реальный путь.
Вопрос: как сделать так, чтобы в теле файла всегда возвращался реальный путь, без symlink.
...
Рейтинг: 0 / 0
03.09.2018, 11:01
    #39697066
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
Гм... а зачем, если не секрет? При каких условиях в батч-процессинге это может повлиять на исполнение?
...
Рейтинг: 0 / 0
03.09.2018, 11:19
    #39697074
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
DIR /A
...
Рейтинг: 0 / 0
03.09.2018, 12:37
    #39697117
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
eNose , и в чём разница?
...
Рейтинг: 0 / 0
03.09.2018, 12:51
    #39697131
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
Akina eNose , и в чём разница? для симлинков выдаст реальный путь.
В батнике при желании можно разобрать.
...
Рейтинг: 0 / 0
03.09.2018, 13:51
    #39697179
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение реального (не symlink) текущего пути в теле bat-файла
eNoseдля симлинков выдаст реальный путь.? не понимаю, давай уточним, что имеется в виду.

Есть некий каталог (скажем \tmp). В корневом каталоге кроме него на него есть симлинк, скажем tmp1. Из корня команды cd tmp и cd tmp1 приведут в одну и ту же точку. При каком текущем каталоге DIR /A выдаст реальный путь для симлинка?

Само собой речь не ведём о листинге корневого каталога и записи в нём элемента с именем tmp1 и типом <SYMLINKD> - это и без всяких вывертов было видно.

eNoseВ батнике при желании можно разобрать.
Ну да... схематично что-то типа dir /b .. | find "%~p0" | find "<SYMLINKD>" (ну, правда, %~p0 придётся урезать до чисто каталога последнего уровня, что тоже нетривиально) и далее errorlevel, а если ноль - выкусываем то, что меж квадратных скобок.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Получение реального (не symlink) текущего пути в теле bat-файла / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]