![]() |
Bat файл - рестартер
Здравствуйте.
Подскажите одну проблему... Есть bat файл, он осуществляет перезагрузку серверного приложения в случае падения этого приложения. Ранее этот файл находился у меня в папке с самим сервером и никаких проблем не было. А теперь нужно заменить эту систему немного. Таким образом что есть папка, в нйе этот bat файл. А уже в этой папке есть папка public к примеру и в папке public само серверное приложение которым и должен управлять bat файл. Но когда сделал таким образом все, при запуске bat файла возникла проблема что не найдет server.cfg, а это конфиг. файл серверного приложения. Не подскажите ли как исправить? Вот содержание bat файла старого, до изменения в системе: Код:
@ECHO OFF Код:
@ECHO OFF или как-то задать в batнике нахождение всех необходимых файлов? |
Не очень понятно, что и где лежит (public к примеру...). Сам файл "server.cfg" у тебя в батнике нигде не указан, да и потом ...
Судя по первому батнику у тебя файлы "server.exe", "server_log.txt" и папка "restarted" находились в одной директории. А вот уже по второму батнику в корневой директории лежит "server_log.txt", папка "public ", содержащая "server.exe" и папка "restarter", содержащая "server.log", "restarter.log", "reset.reg". Т.о. пути у тебя не совпадают. попробуй сделать так: поместить "server_log.txt" в папку "public ", в эту же папку положить подпапку "restarted", с находящимися в ней указанными выше файлами и поищи этот файл "server.cfg", по идее он должен находиться в одной папке с "server.exe"; в батнике пропиши - SET folder=public\restarter SET file_1=public\server_log.txt. может оно и поможет, хотя дело темное... Видимо нарушена структура каталогов необходимая для корректной работы самого приложения "server.exe". Сообщение о ненайденном файле выдается в cmd? Да и информации мало, что за сервер то? |
первый вариант батника оригинального, это когда все в одной папке лежит.
А второй, это когда я хочу изменить структуру. Что бы в папке A, основной папке лежал этот батник, а само сервер приложение переместить в папку public которая находится в основной папке A. Файлы server.log и restaer.log в папке restarter которые их ведет только батник, к самому серверу они не относятся. Да и их легирование отключено фактически опцией SET option_log=0 ну и так опять о проблеме самой, в оригинальном батнике когда все находилось в одной папке путь к файлу запуска сервера был SET server=srvStart.exe. Ну и соответственно там лежали рядом всякие его server.cfg и т.д. А когда поменял структуру и батник оставил там где он был, а сам сервер поместил в папку public поменял и путь в батнике до фaйла запуска сервера, то есть это: SET server=public\srvStart.exe. Ну а при попытке запуска после изменений получается такое ощущение, что батник пытается запустить сервер из основной папки, а не из public где он лежит и все его компоненты. И в окошке батника появляеться надпись что не найден конфиг файл сервера, server.cfg. Цитата:
|
DimankoR, что за сервер, название игры? Подозреваю, надо в параметрах прописать папку.
Если это игра на базе Quake 3 (судя по всему, это именно так), достаточно наставить сервер на путь истинный, запуская с параметром +set fs_cdpath "%CD%\public" Возможно параметр немного отличается, это я показал, как надо запускать сервер Jedi Academy. |
1) Отправь путь папки с конфигом как параметр.
2) В винде есть файл [комманда rundll32] (не помню как называется- может гуру помогут) с помощью которого можно запустить файл так, будто бы он находится в нужной папке... 3) Пошаманить с subst.exe - может поможет... |
Время: 17:28. |
Время: 17:28.
© OSzone.net 2001-