Как отключить - перезапустить - выйти из системы Windows через файл bat?
Я использовал Remote Desktop Connection для доступа к рабочей станции, но я не могу использовать функцию shutdown/restart в в меню "Пуск".
В приведенном ниже ответе я поместил несколько действительно полезных опций.
Примечание:
Я хотел удостовериться, что некоторые действительно хорошие ответы были упомянуты вместе с моими на этом.
И здесь они не имеют особого порядка.
Ответы
Ответ 1
Здесь, как выполнять функции выключения через пакетный файл:
-
shutdown -r
- перезапуск
-
shutdown -s
- shutsdown
-
shutdown -l
- logoff
-
shutdown -t xx
- где xx
- количество секунд ожидания до выключения/перезапуска/выхода из системы
-
shutdown -i
- дает вам диалоговое окно для заполнения какой функции вы хотите использовать
-
shutdown -a
- прерывает предыдущую команду отключения... очень удобно!
-
shutdown -h
- спящий режим. Простая ошибка - это не помощь
-
shutdown -y
- удаляет все приглашения при завершении работы (помощь недоступна в любой документации)
Дополнительные параметры:
-
-f
- принудительно выбранное действие
-
-t <seconds>
- Установите время на остановку. Используйте -t 0
для "сейчас"
Ответ 2
Если вы находитесь на удаленном компьютере, вы также можете добавить параметр -f в команду force перезагрузки. В противном случае сеанс может закрыться, и упрямое приложение может повесить систему.
Я использую это, когда хочу немедленно перезагрузить компьютер:
shutdown -t 0 -r -f
Для более удобной опции "дать им некоторое время" вы можете использовать это:
shutdown -t 30 -r
Как вы можете видеть в комментариях, -f подразумевается таймаутом.
Brutus 2006 - это утилита, которая предоставляет графический интерфейс для этих параметров.
Ответ 3
Никто не упомянул опцию -m
для удаленного выключения:
shutdown -r -f -m \\machinename
также:
- Параметр
-r
вызывает перезагрузку (обычно это то, что вы хотите на удаленной машине, поскольку физическое начало ее может быть затруднено).
- Параметр параметра
-f
заставляет перезагружать.
- Разумеется, у вас должны быть соответствующие привилегии для закрытия удаленного компьютера.
Ответ 4
Оригинальный ответ: октябрь 2008 г.
Вы также получили серию " rundll32.exe shell32.dll
" :
(см. обновление ниже)
-
rundll32.exe user.exe,**ExitWindows**
[Быстрое завершение работы Windows]
-
rundll32.exe user.exe,**ExitWindowsExec**
[Перезагрузите Windows]
rundll32.exe shell32.dll,SHExitWindowsEx n
где n
означает:
- 0 -
LOGOFF
- 1 -
SHUTDOWN
- 2 -
REBOOT
- 4 -
FORCE
- 8 -
POWEROFF
(можно комбинировать → 6 = 2 + 4 FORCE REBOOT
)
Обновление апреля 2015 года (6+ лет спустя):
1800 ИНФОРМАЦИЯ любезно указывает в комментариях:
Не используйте rundll32.exe
для этой цели. Он ожидает, что функция, которую вы передали в командной строке, имеет очень специфическую подпись метода - она не соответствует сигнатуре метода ExitWindows
.
Raymond CHEN написал:
Функциональной сигнатурой, требуемой для функций, называемых rundll32.exe
, является:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
Это не помешало людям использовать rundll32
для вызова случайных функций, которые не были вызваны rundll32
, например user32 LockWorkStation
или user32 ExitWindowsEx
.
(ой)
Фактическая сигнатура функции для ExitWindowsEx:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
И сделать это кристально чистым:
rundll32
остается в стороне от Windows 95, и он устарел с по крайней мере Windows Vista, потому что он нарушает множество современных технических рекомендаций.
Ответ 5
Еще один маленький совет: при переходе по пакетному файлу, мне нравится уметь прерывать его, если я запускаю его случайно. Таким образом, командный файл вызывает выключение, но после этого он выйдет из командной строки.
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
Плюс, поскольку он по таймеру, вы получаете те же самые острые ощущения, что и вы, когда охота в тропе Орегона.
Ответ 6
Вероятно, вы знаете об этом, но на всякий случай: гораздо проще просто ввести "shutdown -r" (или любую другую команду) в поле "Запустить" и нажать Enter.
Сохраняет все файлы пакета, лежащие повсюду.
Ответ 7
При удалении в машину (в любом случае, все-таки Windows XP), я не уверен в целевой Windows Vista, хотя Shutdown в меню "Пуск" заменяется "Отключить сеанс" или что-то в этом роде, должно быть одно имя "Windows" Security ", которая также делает то же самое, что и Ctrl + Alt + End, на что указывает Оуэн.
Ответ 8
Я бы написал это в Notepad или WordPad для основной команды выхода:
@echo off
shutdown -l
Это в основном то же самое, что щелкнуть start и logff вручную, но он немного быстрее, если у вас готов пакетный файл.