기 타 배치파일 해설 좀 부탁드립니다.
2021.06.29 23:05
안녕하세요?
각 폴더별로 압축할 일이 있어 찾던 중 7-zip으로 아래와 같은 스크립트를 발견하고 압축할 폴더들이 모여 있는 곳에서
관리자권한으로 실행했더니 system32 폴더안의 각 폴더들이 압축이 됩니다.
......이해가 안가는..........system32는 왜 건드리는지??
그런데 관리자권한이 아니면 잘 작동합니다.......... 왜 그렇지요??
for /d %%X in (*) do (for /d %%a in (%%X) do ( "C:\Program Files\7-Zip\7z.exe" a -tzip "%%X.zip" ".\%%X\" ))
왜 이럴까요?
참고로 혹시 필요하신 분 계실까봐............아래의 스크립트는 정상적으로 잘 작동합니다.
for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X\" |
댓글 [4]
-
DarknessAngel 2021.06.30 08:25
-
밤이슬216 2021.07.01 14:22
답급 감사합니다.
-
메리아 2021.06.30 10:45
원래 관리자 권한의 기본위치가 system32/syswow64 등이기 때문입니다.
방법 1. 맨처음에 CD /D "%~dp0" 실행하면 해결됨.
방법 2. 1번 방법은 경로문제를 다른쪽에서 일으킬 수 있음.
만에하나 다른쪽에서 문제가 될 경우를 대비하면(경로 변경 때문에 다른 배치파일이나 프로그램이 문제될 수 있음.)
<맨처음>
SETLOCAL ENABLEDELAYEDEXPANSION
pushd "%CD%"
CD /D "%~dp0"
...
<종료직전> - 맨 끝이 아님에 주의. 중간에 종료시키는 경우도 있기에.
popd
~종료코드
(사실 그냥 방법 1 한줄이면 대개 문제없는데, 간혹 여러가지 섞어쓰다보면 이상해지는 경우가 있어서 되도록 방법 2로 하는걸 추천.)
(pushd popd는 스택입니다. 즉, 시작할때 스택에 현재경로 밀어넣고 경로 바꾸고 작업한 뒤에, 현재 경로를 마지막에 복구 시키는 방식입니다.)
아래에 현재 경로를 확인하는 간단한 배치파일입니다.
복붙하시고, 각각 일반 실행과 관리자 실행을 해보세요.
어떻게 변하는지 잘 보시면, 어떻게 활용해야할지 알 수 있습니다.
----------------------------------------------------------------
@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
-
밤이슬216 2021.07.01 14:24
엄청난 답변에 너무 감사드립니다. 잘 공부해보겠습니다. 고맙습니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
» | 기 타| 배치파일 해설 좀 부탁드립니다. [4] | 밤이슬216 | 270 | 06-29 |
89886 | 윈 도 우| 윈도우11 최신 엔비디아 그래픽카드 드라이버 깔면 깜빡이... [4] | 청정골 | 700 | 06-29 |
89885 | 윈 도 우| 윈도우11에서 기본앱 설정하기??? [1] | 히나타 | 484 | 06-29 |
89884 | 윈 도 우| 최근에 나온 1809 LTSC 17763.2028 를 구하고 싶습니다. [5] | 빗소리 | 408 | 06-29 |
89883 | 윈 도 우| 폰트 인식 안됨 [3] | 복원솔루션 | 361 | 06-29 |
89882 | 기 타| 포럼접속 느림 [7] | 소담 | 435 | 06-29 |
89881 | 기 타| 냉장고 온도 조절 문의? 바보같지만 잘모르겠어요. [5] | 맹물 | 647 | 06-29 |
89880 | 윈 도 우| Boot.wim 에 레지 병합하기 부탁합니다. [5] | 타임머신 | 303 | 06-29 |
89879 | 소프트웨어| 벤토리 질문입니다 [4] | 프리티맨 | 208 | 06-29 |
89878 | 소프트웨어| pc카톡 업뎃하고 광고제거가 안되네요 [4] | 『ⓖⓤⓝ』 | 252 | 06-29 |
89877 | 윈 도 우| 윈도우즈11이 i5-7400t 7세대라 설치가 안되는가요? [7] | 프리티맨 | 626 | 06-29 |
89876 | 윈 도 우| 글 내용의 메세지가 뭔지 알 수 있을 까요? [2] | 아브라함 | 206 | 06-29 |
89875 | 윈 도 우| 윈도우 11에서요 [13] | 김영자 | 822 | 06-29 |
89874 | 윈 도 우| 윈 11 위젯 실행 되나요 ?? [2] | 눈이 | 407 | 06-29 |
89873 | 하드웨어| 노트10플러스인데 블루투스가 자꾸 해제 됩니다 [4] | brucex | 336 | 06-29 |
89872 | 소프트웨어| iOS의 빅서(BigSur) 아이콘 팩 구할때 없을까요? | 카니 | 161 | 06-29 |
89871 | 하드웨어| 오래된 노트북 메모리 업그레이드 문의 [14] | 하늘색꿈 | 384 | 06-29 |
89870 | 소프트웨어| 카카오톡 메시지 자동전송 앱 구하고 있습니다. [1] | 좋게멋지게 | 210 | 06-29 |
89869 | 윈 도 우| 윈도우 11도 예약저장소가 생기나요 [3] | 행복한아빠 | 462 | 06-29 |
89868 | 윈 도 우| 윈 11 가능한지 테스트기돌려봤는데 tpm버전이 1.2네요 ㅠㅠ [5] | 태양속으로 | 897 | 06-29 |
%dp%에서 현제 경로값 가져와서 이동하게 해주면 될듯합니다