윈 도 우 배치파일 질문드립니다.
2020.11.12 20:11
운영체제와 비트수를 구분한다음, 파일을 C드라이브(systemdrive)로 이동할려는 배치파일을 만들려고 합니다.
예를들어 윈도우10 64비트라면, 64라는 폴더안에 A폴더를 C드라이브안으로 이동하고
윈도우10 32비트라면, 바탕화면 32폴더안에 A폴더를 C드라이브 안으로 옮긴다고 가정할때...
아래와 같이 코드를 만들었는데, 관리자권한으로 실행하면 배치파일이 정상작동을 안하네요
정확히는 파일이 옮겨지지 않네요.
관리자권한으로 실행하지 않으면, 정상적으로 작동합니다.
무엇이 문제인지 확인부탁드립니다.
해당배치파일과 폴더를 함께 넣어둔 상태입니다.
@echo off
if exist %windir%\SysWOW64 (
set WinBit=64
) else (
set WinBit=32
)
ver | findstr /i "5\.0\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_2000
ver | findstr /i "5\.1\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_XP
ver | findstr /i "5\.2\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_2003
ver | findstr /i "6\.0\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_Vista
ver | findstr /i "6\.1\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_Win7
ver | findstr /i "6\.2\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_Win8
ver | findstr /i "6\.3\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_Win8.1
ver | findstr /i "10\.0\." >nul
IF %ERRORLEVEL% EQU 0 goto ver_Win10
:ver_XP
msg * "Windows XP는 지원하지 않습니다"
exit
:ver_Vista
msg * "Windows Vista는 지원하지 않습니다"
exit
:ver_2003
msg * "Windows 2003은 지원하지 않습니다"
exit
:ver_2000
msg * "Windows 2000은 지원하지 않습니다"
exit
:ver_Win7
msg * "Windows 2000은 지원하지 않습니다"
exit
:ver_win8
msg * "Windows 8은 지원하지 않습니다"
exit
:ver_win8.1
msg * "Windows 8.1은 지원하지 않습니다"
exit
:ver_win10
set winver=win10
goto NEXT
:warn_and_exit
msg * "해당 운영체제는 지원하지 않습니다"
exit
:NEXT
move %winbit%\a %systemdrive%\
댓글 [20]
-
슈머슈마 2020.11.12 21:41
-
꼬져 2020.11.12 21:55 잘 되는데요 .... -_ -;; 12.zip
-
슈머슈마 2020.11.12 22:06
꼬져님 설명좀 부탁드려도 될까요?
그리고 call :IsAdmin 이게 어떤 명령어인가요?
-
꼬져 2020.11.12 22:13 S-1-5-19 권한 검색 해보세요
:IsAdmin
Reg query "HKU\S-1-5-19\Environment"
-
슈머슈마 2020.11.12 22:19
https://docs.microsoft.com/ko-kr/troubleshoot/windows-server/identity/security-identifiers-in-windows
오 ! 이걸 이렇게도 하는군요.. 레지에 s-1-5-19 관리자 권한을 준다는 말인가요?
S-1-5-19 NT 인증 기관 로컬 서비스 라고 나오는데 시스템은 보안때문에 파일 이동이 안되기때문에 권한을 준 다음에 파일 이동을 한다는 말인가요?
뭔지 잘 모르겠음
-
꼬져 2020.11.12 22:24 저도 이렇게 권한을 주는 것을 카조님 스크립트 보고 알았습니다 ㅎㅎ
-
슈머슈마 2020.11.12 22:33
신기한거 하나 배웠습니다. 감사합니다.
-
꼬져 2020.11.12 22:35 RegConvert <-- 이것 사용하면 나옵니다.
-
슈머슈마 2020.11.12 22:37
명령어 인가요? RegConvert ==> reg2exe ?
-
내꼬 2020.11.12 22:39 오해 없으시기 바랍니다.
꼬저님께서 작성한 test.cmd 파일입니다.
엑세스 거부되었습니다.
일반 사용자 관점에서 댓글 작성했습니다.
-
슈머슈마 2020.11.12 22:43
그럼 어떻게 해야하죠? 일반 사용자 관점이라
스크립트 작성은 다수의 시스템에서 작동할수 있게 되어있던것처럼 보이던데 -
내꼬 2020.11.12 22:48 본 스샷은 꼬저님께서 작성한 cmd 파일이며
echo off 에서 echo on 해서 진행 과정을 보여주는 명령입니다.
최종 결과로 일반 sid 계정은 동일한 접근차단 당함을 보여 줍니다.
추가적인 권한을 주거나 특정 계정을 사용 했을경우만 systemdrive에 접근 할 수 있습니다
whoami /user 명령을 입력하는 현재 내 계정의 레벨을 볼 수 있습니다.
아래 링크는 sid가 가지는 정보 관련 글입니다.
https://blog.pages.kr/1842
-
슈머슈마 2020.11.12 22:58
꼬저님이 만들어주신 부분에서 어떤부분을 수정해야하는걸까요?
그런데 systemdrive 즉 C:\ 에 a폴더 bootice.exe 이동 되던데 재 시스템에서는 문제가 없다는거죠?
-
내꼬 2020.11.12 23:06 슈*님 시스템 문제는 아닙니다.
일반 사용자(또는 관리자) 계정에서는 접근이 안되기 때문에 댓글 달았습니다.
즉, S-1-5-21-*****-500(administrator)계정에 도달하지 못하면 접근금지 된다는 뜻입니다.
-
꼬져 2020.11.12 23:17 빨간 고무장갑과 만남을 가지고 접시와 이야기 좀 하고 냄새나는 것들 좀 휴지통에 버리고 오는 사이 ~~
-
슈머슈마 2020.11.12 23:38
어드민 계정은 열려있는 계정권한 아닌가요? -
꼬져 2020.11.12 23:47 내꼬 님 말씀은 일반 순정으로 설치 후 실행하면 어드민 권한을 획득을 못해서 실패한다는 소리입니다.
-
슈머슈마 2020.11.13 00:32
어떤말인지 모르겠습니다. 순정만 해당하는건지
비순정을 설치하라는건지 순정 비순정 둘다 인증 받으면
매한가지 일거 같은데 복잡하네요 ^^
-
슈머슈마 2020.11.13 00:49
혹시 내꼬님 예제 스크립트 가지고 있는거 있으면 앵벌이좀할수있을까요? -
메리아 2020.11.13 11:08
관리자 권한이라면 단순히 경로 문제 아닌가요?
아래 명령의 cmd 작성해서 실행해보세요.
(아, 물론 더블클릭 실행입니다. 만약 따로 cmd창 열어서 직접 cd명령으로 이동해서 실행했는데 문제가 된다면 다른 문제일겁니다.)
-------------------------------------------------
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
echo.
echo.
echo 실행경로
echo %~dp0
echo 실행드라이브
echo %~d0
echo.
echo.
echo.
echo.
echo 최초 상태
echo 현재경로
echo %CD%
echo.
echo.
echo cmd 실행위치로 이동
pushd "%CD%"
CD /D "%~dp0"
echo 현재경로
echo %CD%
echo.
echo.
echo popd 후
popd
echo 현재경로
echo %CD%
echo.
echo.
pause
-------------------------------------------------
관리자권한 풀린 상태에서 단순,관리자권한 실행 : 다 동일함.
관리자권한 안풀린 상태에서 단순 실행 : 다 동일함
관라지권한 안풀린 상태에서 관리자권한 실행 : system32 경로에서 시작함.
Win+X 눌렀을때 나오는 cmd창 두 개 있는거
하나는 일반실행, 하나는 관리자권한실행인데, 여기서도 관리자권한은 system32에서 시작합니다.
(단, 이건 관리자권한 풀린 상태에서도 system32에서 시작.)
저런 실행차이가 있기 때문에
정확하게 지정된 경로가 아니라
실행된 위치의 상대경로에서 실행하려면
무조건 맨처음에 이동작업을 해줘야합니다.
(아예 그냥 표준처럼 맨 앞에 CD /D "%~dp0" 넣어주는게 좋습니아. pushd랑 popd는 원래 위치로 돌아가기 위한것인데, 대개 꼭 필요한편은 아니라서 안넣어도 됩니다.)
대충 실행하면 저런부분에서 꼬이죠.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
86845 | 윈 도 우| 컴터만 켜면 이게 계속 뜨는군요.. 갑자기.. [3] | 갠지스의잔 | 1168 | 11-25 |
86844 | 윈 도 우| 윈도우10 업데이트를 빨리 하는 방법? [4] | ksire | 660 | 11-25 |
86843 | 윈 도 우| 재질문이네요; 로그인해놓은것들이 풀리는데; [6] | 창가에앉아 | 337 | 11-25 |
86842 | 기 타| 안녕하세요 프린터 수리 가능하신분 문의드려요 [10] | 크론베리 | 897 | 11-24 |
86841 | 윈 도 우| dpinst64.exe [5] | Greinke | 600 | 11-24 |
86840 | 윈 도 우| 종료(다시시작)시 쳇바퀴...? [3] | 오뚝이7 | 366 | 11-24 |
86839 | 윈 도 우| win7 업데이트 문의 [8] | 뷰티블마인 | 441 | 11-24 |
86838 | 기 타| Ventoy 메뉴 한글패치 질문 [2] | gkgk77 | 411 | 11-24 |
86837 | 윈 도 우| WIN10PE 중에 팀뷰어되는거 있을가요? [3] | 사운드트랙 | 492 | 11-24 |
86836 | 윈 도 우| INF파일 설치방법 [3] | Greinke | 409 | 11-24 |
86835 | 윈 도 우| GPT로 포맷된 하드에 MBR로 윈도우10 설치 가능한가요? [6] | 좋게멋지게 | 817 | 11-24 |
86834 | 기 타| 컴퓨터 견적입니다(200만원대) 최종견적인데 함 봐주실수 ... [10] | 화이 | 453 | 11-24 |
86833 | 윈 도 우| rufus, ventoy를 이용한 ISO 및 PE 이용하는 방법 [3] | 안정 | 572 | 11-24 |
86832 | 윈 도 우| wim 파일을 실컴에 클린 설치 방법? [6] | 햇님 | 418 | 11-24 |
86831 | 윈 도 우| 윈도우 LTSB만 설치되고 홈이나 프로는 설치가 안되는데.. [2] | 피간지 | 316 | 11-24 |
86830 | 윈 도 우| ventoy 원도우 설치 극초보 질문드립니다;; [2] | JOHN524 | 337 | 11-24 |
86829 | 윈 도 우| VHD멀티부팅 설계하기 [1] | bsj00 | 206 | 11-24 |
86828 | 윈 도 우| 윈도우10 설치할 위치를 지정하는 화면에서 드라이브가 안... [1] | 좋게멋지게 | 770 | 11-24 |
86827 | 윈 도 우| 윈도우10 기본앱이 매번 리셋됩니다. 방법이 없을까요? [3] | 제리코 | 368 | 11-24 |
86826 | 윈 도 우| 설치된 프로그램 실행시 항상 관리지권한으로 실행해주는게... [6] | 부엉이마루 | 506 | 11-24 |
신기하네요 난 안되는데