CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Аватара пользователя
Foreigner

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Foreigner »

Цитата Iska:



Каким образом? Поясните.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Поясните, каким образом он теряет связь?

результатом может быть наличие-отсутствие файлов-семафоров, доступность ресурсов, состояние аппаратуры - что угодно
Аватара пользователя
Iska

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Iska »

То бишь, чтобы организовать связь, дочерний пакетный файл всё одно придётся править.
Аватара пользователя
CyberMuesli

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение CyberMuesli »

Цитата Iska:



То бишь, чтобы организовать связь, дочерний пакетный файл всё одно придётся править.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Вы явно про что-то своё



Связь может быть организована в обратном направлении: родительский скрипт может проверить результаты работы параллельных дочерних скриптов, которые не надо ни коим образом подправлять.



Так или иначе любые действия приходится программировать. Мне кажется, Вы не уловили основную мысль: речь не о том, что startmin волшебным образом позволяет ничего не делать, а о том, что дочерний скрипт можно писать, не думая о том, каким способом он вызван и как обеспечить закрытие окна CMD.
Аватара пользователя
Iska

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Iska »

Цитата CyberMuesli:



Я написал, в чем затруднения с exit. Если проблема кажется надуманной - просто пройдите мимо.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Я высказал свое мнение. Так что не хамите.


Цитата CyberMuesli:



Чтобы не прерывалось наблюдение за основным скриптом удобно запускать не просто через start, а через start /min
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Запускайте через start /b и не будут мелькать окна.
Аватара пользователя
Iska

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Iska »

Цитата Foreigner:



Я высказал свое мнение. Так что не хамите.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Поскольку буквы не передают интонации, значит Вы их выдумали сами.



Мнение немного поверхностное, я написал в чем трудности с EXIT. start /b забавный ключ, но не запускает программу в свернутом виде, а так же не избавляет от необходимости предпринимать специальные меры для закрытия окна CMD после завершения скрипта. Все это следствие того, что проблема кажется Вам надуманной и Вы не хотите в нее вникнуть.
Аватара пользователя
Iska

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Iska »

Цитата CyberMuesli:



так же не избавляет от необходимости предпринимать специальные меры для закрытия окна CMD после завершения скрипта
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




ЧЯДНТ? У меня все отрабатывает и закрывается основное окно ( назовем main.cmd ), после того, как отработали все экземпляры запускаемых из него батников. Пример:



Код:

Код: Выделить всё

:: main.cmd
@echo off
start /b cmd /c "2.cmd"
start /b cmd /c "3.cmd"
echo 1 2 3
exit /b



Код:

Код: Выделить всё

:: 2.cmd и 3.cmd
@echo off
echo.
for /l %%i in (0,1,3) do echo %%i
1>nul ping -n 3 ya.ru
echo exit
exit /b

Второй и третий батник одинаковые
Аватара пользователя
Foreigner

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Foreigner »

Цитата Foreigner:



ЧЯДНТ? У меня все отрабатывает и закрывается основное окно ( назовем main.cmd ), после того, как отработали все экземпляры запускаемых из него батников.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Вы все делаете не так. В предыдущем сообщении я сказал, что start /b не запускает программу параллельно в свернутом виде (т.е. в отдельном свернутом окне), а так же не избавляет от необходимости предпринимать специальные меры для закрытия окна CMD после завершения скрипта. Вы это проигнорировали и настаиваете, что start /b решает эти проблемы.



Кроме того, ключ /B приводит к полному хаосу в стандартном вводе и выводе, потому что окно одно на всех.



Кроме того, вы не видите, что main.cmd заканчивает свою работу РАНЬШЕ 2.cmd и 3.cmd, а не наоборот, как вы утверждаете.



Кроме того, вы не поняли, что моя цель - вовсе не закончить 2 и 3 раньше, чем main.



Итого, вы уводите беседу очень далеко и совсем в другую сторону.
Аватара пользователя
CyberMuesli

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение CyberMuesli »

Цитата:



start /b не запускает программу параллельно



Запускает параллельно, а не последовательно, иначе пауза длилась бы не 2 секунды, а 4.


Цитата:



а так же не избавляет от необходимости предпринимать специальные меры для закрытия окна CMD после завершения скрипта



Запускаю главный батник, он отрабатывает и закрывается, затем, после того, как отработают остальные, закрывается само окно хоста.




Цитата:



main.cmd заканчивает свою работу РАНЬШЕ 2.cmd и 3.cmd, а не наоборот, как вы утверждаете.



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


Цитата:



ключ /B приводит к полному хаосу в стандартном вводе и выводе



Зато не надо открывать много окон, что тоже плюс. Если есть необходимость смотреть вывод только главного батника, то можно скрывать вывод в запускаемых:



Код:

Код: Выделить всё

start /b cmd /c "1>nul 2.cmd"


Цитата:



моя цель - вовсе не ожидание не закончить 2 и 3 раньше, чем main.



Не совсем понял. Они заканчивают свою работу, как только отработают свой код. Какой раньше, а какой позже зависит только от этого.
Аватара пользователя
Foreigner

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение Foreigner »

Цитата Foreigner:



Цитата:

start /b не запускает программу параллельно

Запускает параллельно,
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Цитируйте полностью! "Было бы величайшей ошибкой думать" В.И.Ленин, ПСС, т.4



Не запускает параллельно в свернутом окне.




Цитата Foreigner:



Не совсем понял
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Вот! Именно с этого я и начал.



Вы не уловили основную мысль: цель - чтобы дочерний скрипт можно писать, не думая о том, каким способом он вызван и как обеспечить закрытие окна CMD. Ваш способ start /b имеет дополнительные недостатки с выводом + не обеспечит закрытие окна в случае запуска из планировщика задач через start /b или start /min. Если же Вы замените exit /b на exit в main.cmd, вы сделаете этот скрипт непригодным для вызова в качестве дочернего из другого родительского скрипта.
Аватара пользователя
CyberMuesli

Re: CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)

Сообщение CyberMuesli »

Цитата CyberMuesli:



Если же Вы замените exit /b на exit в main.cmd, вы сделаете этот скрипт непригодным для вызова в качестве дочернего из другого родительского скрипта.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Ничего не изменится. Можно смело убрать из всех exit ключ /b . Или вообще убрать exit из дочерних, cmd /c лишнего не отработает, только батник.


Цитата CyberMuesli:



Не запускает параллельно в свернутом окне.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




А оно надо? Я вообще запускаю в фоне. Ну раз вам не нравится, то рассматривайте, как альтернативу. Или вообще не рассматривайте, дело ваше.


Цитата CyberMuesli:



не обеспечит закрытие окна в случае запуска из планировщика задач через start /b или start /min.
CMD/BAT - запуск в свернутом виде (start /min, cmd /K, exit)




Попробовал, запускает и закрывает окно без лишних движений. Но надо в планировщик, например:



Код:

Код: Выделить всё

schtasks /create /sc once /tn test /tr "cmd /c start /min c:\path\to\1.cmd" /st 19:29
Ответить

Вернуться в «Скриптовые языки администрирования Windows»