The bat не сворачивается при запуске
почему сервисы не стартуют
правим батник так
и читаем стандартный вывод
dp0derby_common.bat присутствует в каталоге?
PS: отладка - очень веселый процесс
сделал запустил - видимо происходит запуск CALL этого derby_commonв папке он имеется, прилагаю
а далее в окне только лишь "нажми любую клавишу" и все. да конечно по полной программе. jdk1.8.0_51
собственно с написанием фронт приложений на java нет проблем, но вот как только пробую подсоединить сервер для базы данных, то все упираюсь в эти баты. полгода назад была такая трабла так и не справился. сейчас снова.
Если есть время . можно команды из батников ручками в консоль вставлять в порядке очереди и смотреть, что получается.
Чего то точно в вашей системе не хватает
А заменить эту шляпу ничем нельзя.
ну время можно найти. только надо понять что толком делать. можете мне на пальцам как ламеру объяснить что вставлять и куда)) мне из этих bat не совсем ясно кто где какая команда и в каком виде запускать ее Открываем cmd от имени администратораПереходим в каталог, где лежат (откуда запускаются) баткики
Открываем в блокноте два батника, копируем команды построчно и . понеслась Открываем cmd от имени администратора
Переходим в каталог, где лежат (откуда запускаются) баткики
Открываем в блокноте два батника, копируем команды построчно и . понеслась
я всегда открывал cmd просто как есть. а его еще можно открыть от имени администратора?
а что есть синтаксис команды в батнике?
напр if "%_JAVACMD%"=="" goto end
if "%_USE_CLASSPATH%"=="no" goto runNoClasspath
if not "%CLASSPATH%"=="" goto runWithClasspath
В некоторых случаях даже нужно!
Может у вас сервис именно поэтому не запускается?
Добавлено через 2 минуты
а что есть синтаксис команды в батнике?
напр if "%_JAVACMD%"=="" goto end
if "%_USE_CLASSPATH%"=="no" goto runNoClasspath
if not "%CLASSPATH%"=="" goto runWithClasspath
С этим сложно!
Тут идёт проверка условий (if), если они не совпадают с заданным, осуществляется переход (goto) на метку
Это надо раскуривать логику батника
ну вот как-то так закончилось и в прошлый раз(непонятно где засада и никто не может в этом помочь.
Вся оставшаяся логика как раз определяет озвученные выше переменные. Что-то мне подсказывает, что не все находятся. И добавлять в конце CMD /K бессмысленно - это новый вызов командной строки, там вывод явно пустой будет. Уже правильно предложили запускать всё из cmd и использовать pause для дебага.
Уже правильно предложили запускать всё из cmd и использовать pause для дебага. ну я могу все позапускать, писал выше что не понимаю конкретно какие команды и в каком синтаксисе. вы могли бы помочь?Так это всё в этих 2-х батниках описано:
"%_JAVACMD%" - java.exe;
%DERBY_OPTS% - не задано;
"%LOCALCLASSPATH%" - %DERBY_HOME%/lib/derby.jar;%DERBY_HOME%/lib/derbynet.jar;%DERBY_HOME%/lib/derbyclient.jar;%DERBY_HOME%/lib/derbytools.jar;%DERBY_HOME%/lib/derbyoptionaltools.jar, ссылки на соответствующие jar-файлы, которые лежат в %Derby_home%, в корне которого как раз озвученные батники лежат;
%CLASSPATH% - не задано;
%DERBY_CMD_LINE_ARGS% - параметры, которые передаются startNetworkServer.bat'у;
Запускайте напрямую в cmd готовую команду. Не заданные параметры скорее всего в мане для бд/проекта описаны.
мне так и не удается указать свой уровень понимания происходящего (напр, %DERBY_OPTS% - это и есть команда? ясно что в таком синтаксисе она не запускается никак.
На самом деле там всё просто, просто я явно не идеально объясняю
Это переменные, которые должны быть определены к моменту запуска. Если переменная не будет определена, то она и не появится в команде. Пример для запуска даблкликом startNetworkServer.bat:
в ходе выполнения он находит многие из них (в скрипте при таком запуске система не найдёт значения для %DERBY_OPTS% и %DERBY_CMD_LINE_ARGS%), результат должен быть примерно таким:
Предположил, что derby находится в папке c:\DERBY, ну и путь использовал к jre, а не jdk, это должно быть не принципиально.
Но стоит проверить переменные среды для пользователя и системы, может локально у вас что-то уже из перечисленного определено. Ну и по опыту - проверяйте наличие переменной %JAVA_HOME% - не всегда после установки jre/jdk она появляется, а от неё зависит поиск java.exe.
может этот линк может чтото еще объяснить?
насчет переменных среды- как раз вчера этим занимался. а сейчас вот добавил еще DERBY_HOME с адресом C:\Derby\db-derby-10.12.1.1-bin
странно что ее там не было?
после этого напр запустилась команда java -jar %DERBY_HOME%\lib\derbyrun.jar dblook (взял из мануала выше) и что-то там выдала результатом.
вчера добавил JAVA_HOME, и добавил в адрес PATH - C:\Program Files\Java\jdk1.8.0_51\bin в конце
Имеется файл run.bat, загружающийся вместе с системой. Вопрос - каким образом можно свернуть его в трей?
Не руками, командой. Можете подсказать как это сделать, посоветовать программу, расширяющую функционал cmd или написать для этого exe'шник? Если поможет - На машине есть node.js
Уже замаялся гуглить.
1. Start с параметром \min - в лучшем случае просто его сворачивает.
2. Скомпилировать его в exe'шник и запустить с ключом -min - тоже не работает.
3. Ставить в свойствах ярлыка - запуск в свёрнутом режиме - опять не то. Просто сворачивает, а не в трей.
4. Видел где-т решение со сторонним api, но прошёл мимо, надеясь найти что-то по лучше.
Вообще насколько мне известно, бат это просто набор команд для автоматизации кнопконажимания. Как-то так. И после выполнения всех инструкций окно автоматически закрывается. И он не может висеть и работать. Т.к. кого работать?))
Ну или ситуация с ожиданием ввода/пауза/delay. Поэтому уточните, точно у вас висит бат? Или всетаки другая программа которую он запустил? Типа апачи из денверского пакета
Висит именно батник. Просто он запускает скрипт на node.js, который поднимает сервер и в случае, если сервер падает - запускает его повторно, поэтому он и не закрывается сам)
Тогда идите от обратного. Создайте бат такого содержания и с такими ключами, чтобы он свернулся в трей. Как я думаю это невозможно. Но если у вас получится - тогда есть смысл разбираться, почему ваш именно бат не уходит в трей
Exploding: В том и дело, что сделать это стандартными командами/ключами windows - нельзя. Но, я более чем уверен что это можно сделать каким-нибудь vbs скриптом или чем-то подобным. Гуглить пытался - нужного не нашёл. Сам я за пределами веба почти ничего не знаю, поэтому и написал сюда
Dmitry221060: ну. Есть один способ. Секретный правда и много испытаний требует.
Если луна находится полной фазе, если Юпитер изъявит свою волю. И если стоит windows 10 (но это не обязательно в принципе), можно поступить так: в вин 10 запускать на втором рабочем столе, а работать на первом, а ежели более старинная версия, поставить причудливый софт для организации нескольких рабочих столов и далее как с вин 10.
Храните эту мудрость! Особенно на работе!)))
Читайте также: