Лучший способ определить длину станд.:: istream?

net start [serviceName]

и

net stop [serviceName]

говорят Вам, успешно выполнились ли они или перестали работать довольно ясно. Например

U:\>net stop alerter
The Alerter service is not started.

More help is available by typing NET HELPMSG 3521.

При выполнении от пакетного файла, у Вас есть доступ к ERRORLEVEL кода возврата. 0 указывает на успех. Что-либо выше указывает на отказ.

Как bat-файл, error.bat:

@echo off
net stop alerter
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause

вывод похож на это:

U:\>error.bat
The Alerter service is not started.

More help is available by typing NET HELPMSG 3521.

There was a problem
Press any key to continue . . .

Коды возврата

 - 0 = Success
 - 1 = Not Supported
 - 2 = Access Denied
 - 3 = Dependent Services Running
 - 4 = Invalid Service Control
 - 5 = Service Cannot Accept Control
 - 6 = Service Not Active
 - 7 = Service Request Timeout
 - 8 = Unknown Failure
 - 9 = Path Not Found
 - 10 = Service Already Running
 - 11 = Service Database Locked
 - 12 = Service Dependency Deleted
 - 13 = Service Dependency Failure
 - 14 = Service Disabled
 - 15 = Service Logon Failure
 - 16 = Service Marked For Deletion
 - 17 = Service No Thread
 - 18 = Status Circular Dependency
 - 19 = Status Duplicate Name
 - 20 = Status Invalid Name
 - 21 = Status Invalid Parameter 
 - 22 = Status Invalid Service Account
 - 23 = Status Service Exists
 - 24 = Service Already Paused

Редактирование 20.04.2015

Коды возврата:

команда NET не возвращает зарегистрированные коды возврата класса Win32_Service (Сервис Не Активный Тайм-аут Запроса на обслуживание, и т.д.) и для многих ошибок просто возвратит Errorlevel 2.

Взгляд здесь: http://ss64.com/nt/net_service.html

7
задан FlintZA 27 October 2009 в 14:42
поделиться

2 ответа

«Лучший» способ - избежать необходимости в длине:)

  • Не все потоки доступны для поиска (например, представьте себе поток istream в сетевом сокете)
  • Тип возвращаемого значения из tellg () не обязательно является числовым (единственное требование состоит в том, чтобы его можно было передать обратно в seekg () для возврата в ту же позицию)
  • Даже если оно числовое, это не обязательно количество байтов. Например, это может быть «магическое» значение, означающее «в конце»
  • Для fstreams такие проблемы, как преобразование регистра и перевода строки, могут испортить ситуацию
7
ответ дан 7 December 2019 в 12:22
поделиться

Рассматривали ли вы сохранение отслеживать размер с помощью istream :: gcount ()?

-1
ответ дан 7 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

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