bat 파일을 통해 Windows를 종료, 재시작 또는 로그 오프하려면 어떻게합니까?


660

워크 스테이션에 들어가기 위해 원격 데스크톱 연결 을 사용 하고 있습니다. 그러나이 환경에서는 시작 메뉴의 전원 옵션을 사용할 수 없습니다. 종료하거나 다시 시작하는 다른 방법이 필요합니다.

명령 줄을 통해 컴퓨터의 전원 상태를 어떻게 제어합니까?

답변:


1164

shutdown명령 을 사용하는 가장 일반적인 방법 은 다음과 같습니다.

  • shutdown -s — 종료합니다.
  • shutdown -r — 다시 시작합니다.
  • shutdown -l — 로그 오프합니다.
  • shutdown -h — 최대 절전 모드.

    참고 : 사용자가 -h"도움말"을 의미 한다고 생각하는 일반적인 함정이 있습니다 ( shutdown.exe"최대 절전"을 의미하는 경우를 제외하고 다른 모든 명령 줄 프로그램 에는 적용됨). 그런 다음 shutdown -h실수로 컴퓨터를 끄고 끕니다. 조심하십시오.

  • shutdown -i— "대화식 모드". 조치를 수행하는 대신 GUI 대화 상자가 표시됩니다.

  • shutdown -a — 이전 종료 명령을 중단합니다.

위의 명령을 다음 추가 옵션과 결합 할 수 있습니다.

  • -f— 프로그램을 강제 종료합니다. 종료 프로세스가 중단되는 것을 방지합니다.
  • -t <seconds>— 종료까지 시간을 설정합니다. -t 0즉시 종료하는 데 사용하십시오 .
  • -c <message>— 종료 메시지를 추가합니다. 메시지가 이벤트 로그에 나타납니다.
  • -y — 모든 종료 쿼리에 대해 "예"응답을 강제합니다.

    참고 : 이 옵션은 공식 문서에 설명되어 있지 않습니다. 이 StackOverflow 사용자 가 발견했습니다 .


나는 이것과 함께 다른 좋은 대답이 언급되도록하고 싶습니다. 여기에는 특별한 순서가 없습니다.


188
다음 답변에서 -f (강제) 사용에 대해 읽으십시오. 주말에 지구 반대편에서 컴퓨터를 셧다운하지 않은 사람은 다음과 같이 말합니다 (:
pasx

11
+1 /<switch>대신에 사용 했습니다 -<switch>. 도움말 섹션에서도을 사용합니다 /.
legends2k

내 경험 : OP에서 언급 한 것처럼 원격 데스크톱에서 -s 옵션 (종료)을 사용하면 원격 데스크톱 만 종료되지만 원격 시스템은 그대로 유지됩니다.
Heri

3
원격 컴퓨터에는 "-r"을 사용합니다. 따라서 다시 시작하고 수동 개입이 필요하지 않습니다.
granadaCoder

6
원격 시스템에있는 경우 -f강제로 재부팅 하는 옵션을 추가 할 수도 있습니다 . 그렇지 않으면 세션이 종료되고 완고한 앱이 시스템을 중단시킬 수 있습니다. 즉시 재부팅을하려면 : shutdown -t 0 -r -f. 보다 친숙한 "시간을 내주십시오"옵션을 사용하려면 다음을 사용하십시오 shutdown -t 30 -r. 는 -f시간 제한에 의해 암시된다. (에 의해 제안 된 편집에서 마테우스 Konieczny )
올레 VV

375

원격 시스템에있는 경우 강제 로 재부팅 하기 위해 -f 옵션을 추가 할 수도 있습니다 . 그렇지 않으면 세션이 종료되고 완고한 앱이 시스템을 중단시킬 수 있습니다.

즉시 재부팅을 원할 때마다 이것을 사용합니다.

shutdown -t 0 -r -f

보다 친근한 "시간을 내주십시오"옵션을 사용하려면 다음을 사용하십시오.

shutdown -t 30 -r

주석에서 볼 수 있듯이 -f는 시간 초과로 암시됩니다.

Brutus 2006은 이러한 옵션에 대한 GUI를 제공하는 유틸리티입니다.


15
Windows 8.1에서 종료에 대한 도움말 읽기 "시간 초과 기간이 0보다 크면 / f 매개 변수가 암시됩니다." 그리고 기본 시간 초과는 30 초이므로 클린 종료에 약간의 시간을주는 것이 바람직하며 시간 초과 후에 강제 종료가 발생한다고 생각합니다.
Zitrax

2
그건 좋은 지적이야. 필자가 이것을 쓸 때 사용하고 있던 OS는 Windows XP라고 생각합니다. "/ f is implied"라는 말이 Windows 7에도 있음을 알았습니다. 이에 따라 예제를 수정했습니다.
JosephStyons

2
기본적으로 30 초가 있습니다. 나는 즉시 사용 : shutdown / r / t 0 및 친절한 : shutdown / r
dzampino

81

아무도 -m원격 종료 옵션을 언급하지 않았습니다 .

shutdown -r -f -m \\machinename

또한:

  • -r매개 변수는 재부팅을 유발합니다 (실제로 시작하기가 어려울 수 있으므로 원격 시스템에서 원하는 것임).
  • -f매개 변수 옵션은 재부팅을 강제로.
  • 물론 원격 시스템을 종료하려면 적절한 권한이 있어야합니다.

2
컴퓨터 이름이 IP 주소가 될 수 있습니까? 즉, 인터넷을 통해이 작업을 수행 할 수 있습니까?
mcmillab

\\IP.AD.DR.ESS필요한 포트가 열려 있고 필요한 권한이있는 경우 를 통해 컴퓨터에 액세스 할 수 있으면 인터넷을 통해 작동합니다.
Timothy Zorn

처음에는 -r로만 시도했지만 원격 종료를 원했기 때문에 작동하지 않았습니다. shutdown -r -m과 함께 작동했습니다. -f는 필요하지 않았습니다.
Dchris

38

원래 답변 : 2008 년 10 월

당신은 또한 모든 것을 얻었다 " 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 년 4 월 업데이트 (6 년 이상 후) :

1800 정보 는 다음과 같이 논평에서 친절하게 지적합니다 .

rundll32.exe이 목적으로 사용하지 마십시오 . 명령 행에 전달한 함수에는 매우 특정한 메소드 서명이있을 것으로 예상 ExitWindows됩니다. 의 메소드 서명과 일치하지 않습니다 .

Raymond CHEN 은 다음과 같이 썼습니다.

호출 한 함수에 필요한 함수 서명 rundll32.exe은 다음과 같습니다.

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);

이나 같은 rundll32호출하도록 설계되지 않은 임의의 함수를 호출 하는 데 사람들이 사용 하는 것을 막지 못했습니다 .rundll32user32 LockWorkStationuser32 ExitWindowsEx

(oops)

ExitWindowsEx의 실제 함수 서명은 다음과 같습니다.

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

그리고 그것을 명확하게 만들기 위해 :

Rundll32 Windows 95에서 남은 것으로, 최신 Windows Vista의 최신 엔지니어링 지침을 위반하기 때문에 Windows Vista 이상부터 사용되지 않습니다.


3
종료와 전원 끄기의 차이점은 무엇입니까?
Asdfg

17
오늘 @Asdfg? 없음 NT4 및 그 이전 버전에서는 마더 보드가 항상 전원 끄기를 지원하지는 않고 종료 만 지원했습니다 (창은 완전히 닫혔지만 PC는 여전히 전원이 공급되고있었습니다). 닫힌 창 (하드웨어가 시간에 그것을 지원하는 경우) 만 전원을 차단할 절충 전원을 잘라. 오늘날에는 종료와 전원 끄기가 모두 그렇게합니다.
VonC

2
이 목적으로 rundll32.exe를 사용하지 마십시오. 명령 행에 전달한 함수에는 매우 특정한 메소드 서명이있을 것으로 예상합니다. ExitWindows의 메소드 서명과 일치하지 않습니다.
1800 정보

2
@ 1800INFORMATION 아주 좋은 지적. 이것이 유효한 옵션 이 아님을 분명히하기 위해 답을 다시 작성했습니다 .
VonC

3
그러나 공평하게 말하면 PC를 즉시 종료하는 경우 어떤 유형의 메모리 누수 또는 스택 손상이 있는지는 중요하지 않습니다.
PRMan

10

또 다른 작은 팁 : 배치 파일 경로를 갈 때 실수로 실행하는 경우 중단 할 수 있기를 바랍니다. 따라서 배치 파일은 종료를 호출하지만 나중에 명령 프롬프트에 남아 있습니다.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

또한 타이머를 사용하기 때문에 오레곤 트레일에서 사냥 할 때와 같은 스릴을 얻습니다 .


1
bath 파일에 pause를 넣은 다음 중단 명령을 수행하면 중단 시퀀스가 ​​임의의 키가됩니다
rsk82

@ rsk82, 무엇이든 타이핑을 할 수 있다는 것은 오레곤 트레일의 TRS-80 사본에 대한 불행한 제한이었습니다. 그러나 솔직히 나는 항상 부정 행위를 고려했고 내가 할 때마다 동생이 분노 할 것입니다. 그냥 말하기 : 왜 내 동생을 격려하고 싶습니까?
Gavin

7

시작 메뉴의 시스템 종료세션 연결 끊기 또는 이와 유사한 것으로 대체 되었지만 시스템에 원격으로 연결되어 있으면 (대상은 Windows XP입니다. 대상 Windows Vista는 확실 하지 않습니다) 같은 일 Ctrl+ Alt+ End지적 오웬에 의해.


나는 그 방법을 사용했지만 더 이상 작동하지 않습니다.
user742864

또한 RDP에서 작동하는 종료, 다시 시작, 최대 절전 모드, 잠금 버튼이있는 가젯이 있습니다.
user742864

7

당신은 아마 이것을 알고있을 것입니다. 그러나 만일의 경우 : shutdown -r"실행"상자에 입력하거나 원하는 명령을 입력하는 것이 훨씬 쉽습니다 .

배치 파일을 모든 곳에 두어 저장합니다.


그래 ... 난 그냥 두 번 클릭 앉아 거기에 앉아 싶어요 ...- r bat 파일도 있습니다; o)
Keng

17
프로그램
Dean Rather

코드가 shutdown.bat 파일에 배치되면 aw .. 및 curious behavior가 발생합니다. 시도 해봐!
:)

6

기본 로그 오프 명령을 위해 이것을 메모장 이나 워드 패드 에 작성합니다.

@echo off
shutdown -l

기본적으로 수동으로 시작 및 로그 오프를 클릭하는 것과 동일하지만 배치 파일이 준비되어 있으면 약간 더 빠릅니다.


5

나는 파티에 늦었지만 아직이 답변을 보지 못했습니다. 배치 파일을 사용하지 않거나 명령을 입력하십시오. 바탕 화면에 포커스를 설정 한 다음 Alt+ 를 사용하면 F4됩니다.

Windows에서 수행 할 작업을 묻고 종료 또는 다시 시작을 선택하십시오.

스크린 샷 및 비디오조차도 https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp를 참조하십시오.


3
@ Keng, 실제 문제 " 읽기 시작 메뉴에서 종료 / 다시 시작 기능을 사용할 수 없습니다"를 읽는 방법을 알고 싶다고 나에게 나타납니다. 명령 줄은 하나의 솔루션이고 키보드는 다른 솔루션입니다. 이 질문에 걸려 다른 사용자가 쉽게 종료하거나 다시 시작하기를 원할 수도 있습니다.
msoft
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.