Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать путь к bat файлу запускающий exe [D7, XP]


ixen ©   (2010-05-21 13:12:00) 

Здравствуйте! Если exe программы лежит на сервере в расшаренной папке, а пользователи в сети запускают ее через bat файл коммандой start \\server\prog\prog.exe, то как узнать программе путь откуда был запущен bat файл?


Игорь Шевченко   (2010-05-23 21:54:00) [1]

Омлет ©   (23.05.10 19:14) [17]


> А в пути \\server\prog\prog.exe пробелов нет


но интересует же не этот путь, верно ?


Омлет   (2010-05-23 19:14:00) [2]

> Игорь Шевченко ©   (23.05.10 17:41) [14]

%0возвращает строку, уже заключенную в кавычки.
А в пути \\server\prog\prog.exeпробелов нет. Так что кавычки можно не ставить.


Игорь Шевченко   (2010-05-23 19:13:00) [3]

Leonid Troyanovsky ©   (23.05.10 18:13) [15]

Да. Век живи, век учись


Leonid Troyanovsky   (2010-05-23 18:13:00) [4]


> Игорь Шевченко ©   (23.05.10 17:41) [14]

Без кавычек это %~0.

--
Regards, LVT.


Игорь Шевченко   (2010-05-23 17:41:00) [5]

Омлет ©   (23.05.10 17:37) [13]

Точно ? ты всегда знаешь, где лежит батник автора ? Я обзавидовался твоему телепатору, поделись, где достал ?


Омлет   (2010-05-23 17:37:00) [6]

В данном случае не обязательны, т.к. пробелов нет )


antonn   (2010-05-23 15:47:00) [7]

в том, где пути могут содержать пробельчеги


Демо   (2010-05-23 15:24:00) [8]


> > Leonid Troyanovsky ©   (22.05.10 11:12) [9]там кавычки
> случаем не нужны?


В каком месте?


antonn   (2010-05-23 15:04:00) [9]


> Leonid Troyanovsky ©   (22.05.10 11:12) [9]

там кавычки случаем не нужны?


Leonid Troyanovsky   (2010-05-22 11:12:00) [10]


> ixen ©   (21.05.10 13:34) [3]

> хранятся в settings.ini , и что бы считать эти настройки
> нужно знать путь откуда был запущен bat файл.

start \\server\prog\prog.exe %0

--
Regards, LVT.


han_malign   (2010-05-21 15:39:00) [11]

Microsoft рекомендует HKCU, или SHGetSpecialFolderPath(например CSIDL_LOCAL_APPDATA).
(не зависимо от того откуда загружается образ, процесс выполняется в локальном контексте)

ну либо .bat
start \\server\prog\prog.exe " %~dp0settings.ini"
либо
@rem на случая запуска батника по длинному пути или из под ярлыка
@rem смена диска
%~d0
@rem смена папки
cd "%~p0"
start \\server\prog\prog.exe
+ GetCurrentDirectory()
либо просто
start /D"%~dp0" \\server\prog\prog.exe
+ GetCurrentDirectory()


Омлет   (2010-05-21 14:51:00) [12]

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


ixen   (2010-05-21 14:06:00) [13]


> Пусть батник сразу передает путь до файла настроек - это
> самый простой путь.
>

тогда уж просто ярлычок на рабочий стол вывести и в нем прописать как параметр путь к файлу настроек


Омлет   (2010-05-21 13:49:00) [14]

Пусть батник сразу передает путь до файла настроек - это самый простой путь.


ixen   (2010-05-21 13:38:00) [15]

до меня дошло... мне кажется путь к клиентскому батнику статически прописан в программе...

а вообще такое возможно сделать?


ixen   (2010-05-21 13:34:00) [16]

у меня на работе используется такая программа, и в батнике нет параметров, я хочу сделать так же... суть в том что у клиентов могут быть разные настройки программы, которые хранятся в settings.ini , и что бы считать эти настройки нужно знать путь откуда был запущен bat файл.


ixen   (2010-05-21 13:29:00) [17]

не
> Пусть батник передает свой путь в параметрах запуска, а
> программа эти параметры читает.

а есть другой способ?


Омлет   (2010-05-21 13:19:00) [18]

Пусть батник передает свой путь в параметрах запуска, а программа эти параметры читает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо