|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выход из скрипта по exit |
|
CMD/BAT - [решено] Выход из скрипта по exit
|
Новый участник Сообщения: 12 |
Профиль | Отправить PM | Цитировать Доброго времени суток!
В примерах часто встречаю завершение пакетного файла путем перевода указателя на конец скрипта, например: @echo off ver | find "5.1.2600" goto winXP goto end :winXP echo This is Microsoft Windows XP ... :end |
|
Отправлено: 13:57, 20-06-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата rene:
|
|
Отправлено: 14:34, 20-06-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
Дело не только в коде возврата, но и корректном закрытии потока с помощью exit и высвобождению сопутсвующих ресурсов, в то время как вызов goto, во-первых, без особой надобности просто портит код, во-вторых, не посылает явным образом сигнал консоли, что все, мол, пора заквадрачиваться. Примерно так. И да, лучше указывать в батах exit /b, чтобы ненароком не закрыть саму консоль (если еще в ней предполагается работать).
|
Отправлено: 16:33, 20-06-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
|
|
Отправлено: 16:47, 20-06-2017 | #4 |
Забанен Сообщения: 793
|
Iska, не мне Вас учить что cmd - та же программа (интерпретатор), оперирующая данными, под которые, если заглянуть под "капот" также выделяется место в памяти и прочее в этом духе. Оператор goto спректирован несколько кривовато, а потому его использование лучше ограничить областью видимости самого командного файла, а не как инструкцию выхода из последнего.
|
|
Отправлено: 17:17, 20-06-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Всё равно не пойму. Вы имеете в виду, что в командный процессор после завершения пакетного файла по exit, по goto :eof и просто по завершении кода пакетного файла освобождает разное количество ранее выделенной на его исполнение оперативной памяти, так?
|
Отправлено: 17:31, 20-06-2017 | #6 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать greg zakharov, если говорить о проектировании ПО, то корректнее все ветви завершения алгоритма собирать в одну точку выхода, или хотя бы группировать по результативности. Поэтому goto end - это хорошо, а раскиданные по коду exit и goto :eof - плохо.
|
Отправлено: 17:35, 20-06-2017 | #7 |
Забанен Сообщения: 793
|
Iska, нет. По goto ресурсы освобождаются с некоторой задержкой.
Busla, проектирование ПО и сценарии командной строки - суть разные вещи. |
Отправлено: 20:18, 20-06-2017 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Возможен ли спонтанный выход из строя материнки и ЦП из-за поломки памяти? | silalex | Материнские платы и память | 8 | 25-10-2013 18:46 | |
VBS/WSH/JS - Изменение скрипта по сбору инфы по железу | ZeVSalt | Скриптовые языки администрирования Windows | 2 | 26-09-2011 18:54 | |
[решено] Вопрос по TrayItemSetOnEvent: как выйти из скрипта в данной ситуации? | evg64 | AutoIt | 1 | 07-10-2009 08:16 | |
VBA - выход из цикла | иоанн | Программирование и базы данных | 2 | 26-05-2009 22:24 | |
Выход из KDE | karlison | Общий по Linux | 8 | 03-02-2003 09:42 |
|