Есть ли способ сделать замазку автоматически «закрыть окно при выходе» из командной строки?

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

В то время как это технически работает нормально в большинстве ситуаций, если есть проблемы с сетью, шпаклевка просто зависает со всплывающим окном, говоря, что она была отключена.

Я видел вариант «закрыть окно на выходе», и я знаю, что это то, что мне нужно, но я могу сделать это только из окна - я не нашел способ изменить этот параметр из командной строки.

Кто-нибудь знает, возможно ли это и что установить ... или просто изменить значения по умолчанию, поскольку это все, что будет запущено на этом компьютере?

7 голосов | спросил William Hilsum 29 Maypm12 2012, 20:43:34

2 ответа


4

Лучшим решением было бы создать пользовательский сеанс в PuTTY (с изменением параметра «Закрыть окно при выходе») и загрузить этот сеанс через командную строку, но если у вас нет доступа к графическому интерфейсу, это не так легко. Однако я не знаю, как указать отдельные настройки через командную строку.

Если вы можете редактировать реестр, однако, вы можете создать сеанс, создав новый ключ в

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

, где вы можете добавить значения, соответствующие настройкам сеанса в графическом интерфейсе. Итак, если вы хотите, чтобы окно всегда закрывалось при выходе, вы добавили бы значение DWORD с именем CloseOnExit, содержащее значение 2. Все остальное, что не указано, останется по умолчанию.

Затем вы добавили

-load "session name"

в строку командной строки, где «имя сеанса» - это имя созданного вами ключа. После этого добавьте другие параметры командной строки (например, сервер, имя пользователя, пароль и т. Д.), И все будет установлено.

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

В качестве альтернативы есть вилки PuTTY (такие как лоток PuTTY ), которые имеют функцию автоматического повторного подключения после прерывания , хотя я не могу ручаться за то, насколько хорошо они работают.

ответил clpo13 29 Maypm12 2012, 22:00:31
1

Когда вы получите эту ошибку:

ошибка шпаги

, тогда вы можете написать скрипт AutoIt , который ждет появления этого окна и подтвердит его:

$title = "PuTTY Fatal Error"
WinWaitActive( $title )
ControlClick($title,"", "Button1", "primary")
sleep(100)
WinClose("PuTTY (inactive)","")

Вы также можете скомпилировать скрипт в маленький автономный .exe-файл. Поместите это в свой пакетный файл перед запуском PuTTY.

ответил jftuga 29 Maypm12 2012, 21:16:19

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132