윈 도 우 Windows\WinSxS\ 안에 폴더 삭제하 방법 문의합니다
2014.09.04 14:01
안녕하세요.
Windows\WinSxS\ 안에 여러가지 폴더 중에 특정 폴더를 지우고 싶습니다.
예전에 대추사랑님, suk님이 올려주신 cleaner.cmd 를 받아서 필요시에 삭제를 합니다.
글이 조금 이해가 안되더라도 이해 해 주세요.
1. Windows\WinSxS 에서 삭제하고싶은 폴더는 각국 언어폴더(ko-kr, en-us 제외)를 지울려고하니
모두 경로명를 복사해서 위 cleaner.cmd 처럼 작업을 해야 하는데 불편합니다.
그래서 폴더을 와일드카드를 사용해서 지우는 방법이 있는지 궁금합니다. (온라인 오프라인 모두 다)
아래처럼..
takeown /f "C:\Windows\WinSxS\amd64_hidi2c.inf.resources_31bf3856ad364e35_6.3.9600.16384_ko-kr_517257454dde9c14"
이렇게 있다면걸
takeown /f "C:\Windows\WinSxS\*_ko-kr_*" 이렇게 와일드카드를 적용해서 폴더를 지울려고하니 지워지지가 안습니다.
지우는 방법이 있는지요?
2. 또 경로 및 폴더명을 적지안고 특정 폴더만 찾아서 모두 지우는 방법이 있는지요?
즉, cs-cz 이런 폴더가 C: 드라이버 하위 폴더에 있다면 모두 경로를 찾아서 적지안고
C: 에 있는 cs-cz 폴더만 찾아서 지우는 명령어를 알고싶습니다.
CMD에서 사용이 가능한 방법을 알려 주시면 고맙겟습니다.
댓글 [15]
-
suk 2014.09.04 14:30
dir /a:d /b/s c:\Windows\WinSxS\*cs-cz*이렇게 하시면 c:\Windows\WinSxS 폴더에 있는 cs-cz 포함된 폴더가 전부 검색됩니다. 폴더만 검색됩니다. a:d 옵션으로..@for /f "tokens=* usebackq" %%a in (`"dir /a:d /b/s c:\Windows\WinSxS\*cs-cz*"`) do (takeown /f "%%a" /r /d y & icacls "%%a" /t /grant everyone:f & rmdir /s /q "%%a" )이렇게 하시면 찾은 폴더를 전부 사용권한 가져와서 삭제까지 됩니다.이 맛에 배치파일 하는거죠~* 위는 그냥 예를 든 것이고...밑에 것만 cmd 파일에 추가하시면 됩니다.dir /a:d /b/s c:\*cs-cz* 이렇게 하시면 c:\가 대상이 됩니다.이걸 실행해봤습니다.제일 밑에 다시 같은 명령을 실행해봤는데...다 삭제되어서 파일이 없다고 나옵니다.참고로 cmd, bat파일에서는 % 하나가 날아갑니다. 그래서 %%a 이런 식으로 2번 넣어줘야 %a라고 인식합니다그냥 cmd 창에서는 %a라고 해야 작동합니다. 그래서 위 스샷에 %a라고 전부 바꿔서 넣었죠.@for /f "tokens=* usebackq" %%a in (`"dir /a:d /b/s c:\Windows\WinSxS\*cs-cz*"`) do (takeown /f "%%a" /r /d y >nul & icacls "%%a" /t /grant everyone:f >nul & rmdir /s /q "%%a" )저는 보여주기식으로 저렇게 거창하게 화면에 나왔는데요. 잘 되는지 확인도 할겸..잘 되는 것 확인했으니까..이제 안 보이게 실행하는게 빠릅니다. 보고 싶으시면 저대로 냅두고요위처럼 >nul을 각 명령어 뒤에 붙여주시면 되죠. rmdir은 본래 소리없이 작동하므로 안 해줘도 되고요. -
박삿갓 2014.09.04 15:52
suk님 자세한 설명 고맙습니다.
참고해서 전에 올려주신 cleaner.cmd 파일을 수정해서 적용해 보겠습니다.
예전에 배치파일 작성법을 제대로 배워둘걸 그랫습니다.
이렇게라도 한 수 배우고 ...테스트 후 댓글 올리겠습니다.
-
박삿갓 2014.09.04 16:53
일단 dir 검색 및 삭제는 잘 됩니다.
전에 올려주신 cleaner.cmd 를 수정하면 간단하게 작성이 될것 같습니다.
알려주신 방법으로 수정하면 문제는 없겠는지요?
suk님 추가 문의드립니다.
dir /a:d /b/s c:\Windows\WinSxS\*cs-cz* dir 검색
@for /f "tokens=* usebackq" %%a in (`"dir /a:d /b/s c:\Windows\WinSxS\*cs-cz*"`) do (takeown /f "%%a" /r /d y & icacls "%%a" /t /grant everyone:f & rmdir /s /q "%%a" ) 삭제를 할때
최종 마지막에 몇개의 폴더(파일)이 검색 및 삭제됬는지 화면에 출력이 가능하게 할려면
어떻게 추가하면 될가요?
-
suk 2014.09.04 18:24
@setlocal enabledelayedexpansion@if exist list.txt del /q list.txtmode con cols=500 lines=10000@set i=0@for /f "tokens=* usebackq" %%a in (`"dir /a:d /b/s c:\Windows\WinSxS\*cs-cz*"`) do (set /a i+=1 & echo "%%a" >>list.txt & takeown /f "%%a" /r /d y >nul & icacls "%%a" /t /grant everyone:f >nul & rmdir /s /q "%%a" )@echo.@echo.@type list.txt@del /f/a/q list.txt@echo.@echo.@echo !i!개 삭제되었습니다.@echo.@echo......이런 식으로 하시면 될 겁니다. 그리고dir /a:d /b/s c:\Windows\WinSxS\*cs-cz* dir 검색...........이건 필요없습니다. 밑에 보시면 다 포함되어 있으니까요. 그냥 bat 파일 검색 예를 든 것 뿐입니다.*.tmp 파일 삭제를 해봤습니다. 이건 파일이라서 dir 옵션에 a:d는 생략해야 됩니다. -
박삿갓 2014.09.04 18:36
네, suk 님.. 저도 한참 해 보는 중입니다.
윈도우를 다런 폴더에 풀어서 작업을 해 봣습니다.
이단 *ar-SA* 이런 언어만 적용을 했는데요. 그림처럼 지워지지않은 파일이 나옵니다.
확실하게 지우는 방법이 없을까요? 아니면 제가 잘 못 적용을 했을까요?
-
suk 2014.09.04 18:49
그건 파일 같네요(찾아보니까 파일들도 있네요) /a:d는 폴더만 검색하는 옵션입니다.(삭제는 검색된 것만 됩니다)
그러면...? /a:d 옵션을 빼고 또 해야 하나요? 음..폴더 안에 그 파일이 있지 않고...별동부대처럼 따로 ;;
폴더 따로 검색하고 삭제, 파일 따로 검색하고 삭제...음.
똑같습니다 /a:d 만 삭제하시면 됩니다. 아..뒤에 rmdir이 폴더 삭제하는 명령이죠
이것도 del /f/a/q 로 하시면 되겠습니다.
-
박삿갓 2014.09.04 19:12
suk님 조언을 추가해서 아래처럼 적용하면 폴더, 파일 모두 삭제가 되는지 해 보겠습니다.
@for /f "tokens=* usebackq" %%a in (`"dir /a:r h a s /b/s A:\mount\*ar-SA*"`) do (takeown /f "%%a" /r /d y & icacls "%%a" /t /grant everyone:f & del /f/a/q "%%a" )
이렇게하면 맞는지요?
-
suk 2014.09.04 20:53
이걸로 한번 해보세요. 근데 a:\ ?
mount가 보이는 위치라면 그냥 a:\는 삭제하시고 실행하시면 될 겁니다.
삭제한 폴더와 파일 둘다 표시되도록 했습니다.
근데 이거 삭제해도 되는건지..c:\ 가 희생양이 되는군요.
참고로 저는 이것의 원조가 되는 bat 파일 사용하지 않고 있었습니다,, 삭제되는 용량이 적어서요.
-
박삿갓 2014.09.04 21:10
A: 는 램 디스크입니다.
그곳에 mount 폴더에 파일을 풀고 테스트를 하고 있습니다.
@for /f "tokens=* usebackq" %%a in (`"dir /b/s A:\mount\*ar-SA*"`) do (set /a i+=1 & echo "%%a" >>list.txt & takeown /f "%%a" /r /d y >nul & icacls "%%a" /t /grant everyone:f >nul & del /a:s /a:h /f/a/q "%%a" )
이걸로 실행하면 파일은 지워집니다. cmd 화면에 보시면 경로 오류 문구가 나옵니다. 왜이런게 나올까요?
-
suk 2014.09.04 21:19
하나는 폴더이고 하나는 파일이라서 서로 명령어가 다릅니다
bat 파일에 어떻게 넣으셨는지 알려주셔야겠네요.
@cd /d %~dp0
@setlocal enabledelayedexpansion
mode con cols=500 lines=10000
@if exist list1.txt del /q list1.txt
@set i=0
@for /f "tokens=* usebackq" %%a in (`"dir /a:d /b/s A:\mount\*ar-SA*"`) do (set /a i+=1 & echo "%%a" >>list1.txt & takeown /f "%%a" /r /d y >nul & icacls "%%a" /t /grant everyone:f >nul & rd /q/s "%%a" )
@echo.
@echo.
@set j=0
@for /f "tokens=* usebackq" %%a in (`"dir /b/s A:\mount\*ar-SA*"`) do (set /a j+=1 & echo "%%a" >>list2.txt & takeown /f "%%a" >nul & icacls "%%a" /t /grant everyone:f >nul& del /f/a/q "%%a" )
@echo.
@echo.
@type list1.txt
@del /f/a/q list1.txt
@echo ---------------------------------------------------------------------
@echo.
@echo.
@echo 폴더 !i!개 삭제되었습니다.
@echo.
@echo.
@type list2.txt
@del /f/a/q list2.txt
@echo ---------------------------------------------------------------------
@echo.
@echo.
@echo 폴더 !i!개 삭제하고, 파일 !j!개 삭제하였습니다.
@echo.
@echo.
pause
위가 폴더 삭제, 아래는 파일 삭제입니다. 명령어가 서로 몇가지 다릅니다.
-
박삿갓 2014.09.04 21:55
suk님께서 주신 배치파일로 잘 됩니다. 다만 첫 그림에서 cmd 창에서 나오는 메시지가 정상인지 궁금합니다.
또 히든 파일은 삭제가 안됩니다. 3번째 그림, 히든 옵션을 주면 다런 파일이 삭제가 안되고요. 다된것 같은데요...
-
suk 2014.09.04 22:30
-
박삿갓 2014.09.04 18:48
위 그림은 아래처럼 적용해서 실행을 한 후 검색을 해 봤습니다.
@for /f "tokens=* usebackq" %%a in (`"dir /a:d r h a s /b/s A:\mount\*ar-SA*"`) do (takeown /f "%%a" /r /d y & icacls "%%a" /t /grant everyone:f & rmdir /s /q "%%a" )
-
suk 2014.09.04 21:12
* 제가 위에 쓴대로 실사용 안 하고 있어서 무관심 합니다..
지금 cleaner.cmd 파일 보니까...그냥 cd /d %~dp0 만 위에 입력해주시면 잘 작동할 겁니다
C: 이든지 mount 폴더 안에서 실행하시면 될 겁니다.
저는 그냥 별도로 폴더 삭제 질문하시는 줄 ...그럴 수도 있습니다만..
암튼 저 bat 파일은 그렇게 하시면 됩니다.
-
박삿갓 2014.09.04 22:04
suk님 수고하셧습니다.
조금전 배치파일은 일단 99.9% 삭제가 잘 됩니다.
언어 파일은 이것으로 대체해서 사용 해 볼까 합니다.
히든파일도 함게 지우는 방법이 분명 있으텐데요.. 공부 좀 해 보겟습니다.
고맙습니다.
또 다런 질문이 하나 있는데 이건 내일쯤 한번 올려 보겟습니다.
감사합니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
51525 | 윈 도 우| 절전모드 해제가 안되네요.... | Loaded D.K | 926 | 09-05 |
51524 | 기 타| 이미지의 문자를 지우기 위해선?? [2] | 1024KB | 1056 | 09-05 |
51523 | 윈 도 우| 요고받아슴니다 [1] | 읜도우바보 | 975 | 09-05 |
51522 | 기 타| 전화벨소리 구합니다. [2] | varvari | 1182 | 09-04 |
51521 | 기 타| 공유기 2대 사용문의(kt홈허브공유기 & iptime공유기) ... [7] | zxcnet | 3168 | 09-04 |
51520 | 기 타| UEFI에서 GRUB4DOS부팅 [1] | 나그네_K | 1846 | 09-04 |
51519 | 하드웨어| 그림에 있는 DC big 4-pin Molex connector 어떻게 연결하... [1] | joe | 906 | 09-04 |
51518 | 소프트웨어| comodo 무료 백신 괜찮나요? [1] | 곰탱이1004 | 1491 | 09-04 |
51517 | 윈 도 우| start_v4_sr2_2 로..... | 타임머신 | 944 | 09-04 |
51516 | 소프트웨어| 트루이미지 | 무명거사 | 1036 | 09-04 |
51515 | 소프트웨어| 팀뷰어와 비슷한 원격제어툴 없나요? [1] | qlvndchvnd | 2021 | 09-04 |
51514 | 기 타| 스마트폰 분실에 대해... [2] | 최또 | 978 | 09-04 |
51513 | 소프트웨어| 하드디스크 점유율 보여주는 프로그램 있나요? [1] | 카스타드 | 1011 | 09-04 |
51512 | 윈 도 우| 윈도우 메뉴 짤리는 문제... | 알리아스 | 890 | 09-04 |
» | 윈 도 우| Windows\WinSxS\ 안에 폴더 삭제하 방법 문의합니다 [15] | 박삿갓 | 2843 | 09-04 |
51510 | 소프트웨어| VMware Workstation에서 가상윈도우 설치문제 조언 부탁드... [9] | 샤방이 | 4652 | 09-04 |
51509 | 윈 도 우| 사용자계정마다 표시언어를 다르게 할 수 있나요? [2] | yespick | 923 | 09-04 |
51508 | 기 타| 윈8.1에서 dvd에 cd를 넣고 install.exe를 실행시키니.... [5] | fgcv | 1144 | 09-04 |
51507 | 소프트웨어| 프로세스 클린 프로그램 믿어도 되나요? [7] | 카스타드 | 1326 | 09-04 |
51506 | 윈 도 우| 파일첨부가 안되요 [4] | adv | 1019 | 09-04 |