이 영역을 누르면 첫 페이지로 이동
인터넷, 세상과 소통하다. 블로그의 첫 페이지로 이동

인터넷, 세상과 소통하다.

페이지 맨 위로 올라가기

인터넷, 세상과 소통하다.

IT 지식 창고, 아마도 그럴 테지? Windows, Linux, Software, Hardware, Development

CMD 관리자 권한으로 실행 여부 체크하기

  • 2020.09.29 21:46
  • 개발

배치파일 작성 시 관리자 권한이 필요한 프로그램을 실행시켜야하는 경우가 있습니다.

해당 코드가 실행되기 전에 미리 관리자 권한으로 실행 되었는지 체크하여

관리자 권한으로 실행되지 않았다면 아에 배치파일이 동작하지 않도록 만드는게

정신 건강에 이롭더군요.

 

아래 코드는 관리자 권한으로 실행했는지 체크하고

관리자 권한이 아니면 프로그램을 메시지를 보여주고 배치파일을 종료 시키는 코드입니다.

@echo off 
title 관리자 권한으로 배치파일 실행 했는지 확인하기

bcdedit >>nul 
if %errorlevel% == 1 goto noadmin 
echo ★ 관리자 권한으로 실행하였습니다.  
pause 
exit 

:noadmin 
cls 
color 1F 
echo. 
echo. 
echo. 
echo. 
echo ★ 관리자 권한이 아닙니다! 
echo ★ 오른쪽 마우스 클릭해서 관리자 권한으로 실행해주세요. 
pause 
exit

위 코드에서 중요한 부분은

bcdedit >>nul

if %errorlevel% == 1 goto noadmin 

이 부분이겠군요.

bcdedit 는 부트로더 관리 프로그램인데

이 프로그램은 부팅 관련을 건들기 때문에 관리자 권한이 필수입니다.

그래서 bcdedit 명령어를 치고 그 결과값을 nul로 표시하도록 처리하여

해당 명령어 실행 여부를 가지고 관리자 권한으로 배치파일이 실행되었는지 확인할 수 있습니다.

 

if 구문에서 %errorlevel%은 if 구문 바로 직전에 실행된 명령어의 실행 결과값을 0과 1로 표시해주는데요.

에러가 발생하면 1로 에러가 없이 정상적으로 명령어가 작동했으면 0으로 표시됩니다.

관리자 권한이 없어서 bcdedit가 실행되지 않았다면 당연히 에러가 발생한것이므로 1로 표시됩니다.

 

if구문에서는 errorlevel이 1이라면 goto noadmin 이라는 위치로 보내버립니다.

goto를 통해 :noadmin 다음줄 부터 구문이 시작되도록 명령 실행 위치가 바뀝니다.

그래서 결국 if 구문과 :noadmin 사이에 있는 echo ★ 관리자 권한 ~ exit 까지의 명령줄은 실행되지 않고

:noadmin 다음에 있는 cls 구문 부터 실행되는겁니다.

 

 

설명이 어려웠는데

대략적으로 코드 보시고 따라하시면 이해 되실거라 믿습니다.

저작자표시비영리동일조건

'개발' 카테고리의 다른 글

CMD 관리자 권한으로 실행 여부 체크하기  (0) 2020.09.29
cmd, 배치파일

댓글

방문자 정보

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

다른 글 더 둘러보기
  • 최신
    • 1
  • 다음

정보

인터넷, 세상과 소통하다. 블로그의 첫 페이지로 이동

인터넷, 세상과 소통하다.

  • 인터넷, 세상과 소통하다.의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 공지사항
  • 모든 글 보기

카테고리

  • 모든 글 보기 (90)
    • 운영체제 (39)
      • 윈도우 (34)
      • 리눅스 (5)
    • 소프트웨어 (40)
      • 사용법 (11)
      • 다운로드 (29)
    • 하드웨어 (2)
      • 리뷰 (2)
      • 조립기 (0)
    • 오피스 (1)
      • 엑셀 (1)
    • 개발 (1)
    • 사이트 (4)
    • 직박구리 (3)

최근 글

  • Centos7 Firewalld Failed to start fi⋯

    Centos7 Firewalld Failed to start fi⋯

    2021.03.29
  • 윈도우10 잠금화면 배경 설정

    윈도우10 잠금화면 배경 설정

    2021.01.18
  • Microsoft Hyper-v Server 2019 설치하기

    Microsoft Hyper-v Server 2019 설치하기

    2021.01.16
  • 클래식쉘 삭제 방법

    클래식쉘 삭제 방법

    2021.01.15

인기 글

  • Steam 다운로드, 스팀 다운로드

    Steam 다운로드, 스팀 다운로드

    2017.10.31
  • 윈도우10 화면보호기 설정 방법

    윈도우10 화면보호기 설정 방법

    2015.09.06
  • Steam 회원가입, 스팀 회원가입

    Steam 회원가입, 스팀 회원가입

    2017.10.15
  • qBittorrent 다운로드, 큐비트토렌트 다⋯

    qBittorrent 다운로드, 큐비트토렌트 다⋯

    2017.11.20

댓글

  • ㅋㅋㅋ 메인보드를, 포스팅을 위해서라⋯
  • 댓글 감사합니다!!!
  • 정말 되네요. 감사합니다. !!
  • 네 감사합니다

공지사항

아카이브

  • 2021/03
  • 2021/01
  • 2020/12
  • 2020/11

태그

  • 하이퍼바이저
  • Hyper-v Server 2019
  • 윈도우10
  • windows10 잠금화면
  • 마이크로소프트 hyper-v 서버 2019
  • Microsoft Hyper-v Server 2019
  • windows10 로그인 화면
  • Hyper-v 2019
  • Hyper-V
  • windows10
  • 전체 보기…

나의 외부 링크

  • 니마음 뷰티앤
  • 인터넷, 세상과 소통하다.

정보

김루노의 인터넷, 세상과 소통하다.

인터넷, 세상과 소통하다.

김루노

블로그 구독하기

  • 구독하기
  • 네이버 이웃 맺기
  • RSS 피드

방문자

  • 전체 방문자 691,333
  • 오늘 83
  • 어제 215

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 김루노. Designed by Fraccino.

티스토리툴바