기 타 배치파일로 디렉토리 한개를 지워야 하는데
2021.10.21 09:11
디렉토리 이름이 매번 다릅니다
하지만 해당 폴더내에서 첫번째 폴더라는 고정된 조건이 있네요
어떻게 지워야 할까요
댓글 [17]
-
지후빠 2021.10.21 12:44
-
중국몽 2021.10.21 13:28 for /d %%a in ("%~dp0*") do rd /s/q "%%a" & exit
잘되네요 감사합니다
-
짱깨꺼져18 2021.10.21 17:48
깔끔하네요
-
중국몽 2021.10.21 21:16 너는 관심도 없으면서 닉넴 써먹을려고 댓글 달았겠지? ㅋㅋㅋㅋㅋㅋㅋ
누가 한 말인지도 모를테고 비꼬는 의미로 썼을지도 모른다는 생각을 해볼 지성은 안될거 같은데
-
짱깨꺼져18 2021.10.22 08:43
-
중국몽 2021.10.22 09:18 이 악물고 달려든거 맞네 ㅋㅋㅋ 그런거까지 캡춰해두는거 보면 ㅋㅋㅋ
여기서 이러지 말고 진짜 조선족이나 짱깨들 뚝배기나 깨러 가든가 근데 그럴 자신은 없겠지 욕 하나도 못하는 수준이니
랜선 애국심 이런곳에서 내보여서 비참한 자존감 채워봐야 의미없으니까 나가서 태극기나 흔들어라 니 동료들 많더라
-
짱깨꺼져18 2021.10.22 09:27
.
-
중국몽 2021.10.22 09:47 윈포 애국보수 ㅋㅋ 값싼 랜선 애국심에 지배되서 사는거 보니 안타깝네
-
짱깨꺼져18 2021.10.22 10:21
.
-
중국몽 2021.10.22 10:45 키보드 하나 두들길 수준도 안되는거 보니 진짜 값싼 랜선 애국지사인가보네 ㅋㅋㅋ
느그집 중국산 제품은 안녕하신지?
-
짱깨꺼져18 2021.10.22 17:10
.
-
슈머슈마 2021.10.21 18:03
지후빠님 상위 폴더 밑에 있는 폴더 파일들까지 전부 삭제하는거 아닌가요?
그리고 질문자 님이 첫번째 폴더라고 했는데 ?? 전 이해가 가지안는 부분이 있어서요
이름에 따라서 그리고 폴더 크기에 따라서 값이 달라질거 같은데 rd /s/q 이면 해당 폴더안의 폴더와 파일포함 전부다 삭제 하는거
아닐까요? 재가 뭘 잘모르긴 하지만 값을 어떻게 정하는지도 궁금하고
답변을 해볼까 하다가 잘알지도 못하면서 괜히 나대는거 같아서 ^^
첫번째 폴더라고 했는데 지정된폴더 지우는건 알아도 첫번째 폴더라고 하면
도대체 어느폴더를 어떻게 삭제해야하는지 모르겠어서.............
-
지후빠 2021.10.21 18:14
기본은 이름순 정렬로 조회되는데 그중 첫번째만 지우고 빠져나옵니다.^^
for /d 옵션은 directory 만 parcing 합니다.
-
슈머슈마 2021.10.21 18:48
FOR /D %변수 IN (집합) DO 명령 [명령-매개 변수]
집합에 대표 문자가 있으면 파일 이름 대신 디렉터리 이름과
일치하도록 지정합니다.
대표 디렉토리 이름 한개 값만 들어가나보군요? 그래서 자동으로 한개의 디렉토리만 지워지는 구조?
나는 전부다 지워지는줄 알았네요... ^^
오늘 또 하나 배우는군요 감사합니다.
-
지후빠 2021.10.21 19:52
그게 아니라 처음 것 지우고 & exit 으로 빠져나와서 결과적으로 1개만 지우게 됩니다. ^^
-
컨피그 2021.10.21 19:56
그게 아닌거 같은데요
대표 디렉토리 한개만 들어가는게 아니고 모든 디렉토리를 불러오는데
for문 끝에 & exit 구문을 넣었기 때문에
가장 첫번째로 조회된 디렉토리 한개만 삭제되고 반복문이 끝나버립니다
반복문인데 반복을 안하고 딱 한번만 실행되고 끝나는거죠
끝에 & exit 구문을 지우면 디렉토리가 조회된 만큼 반복하니까 모든 디렉토리가 삭제되겠죠
-
슈머슈마 2021.10.21 20:08
그렇군요 ㅋㅋ 잘알겠습니다.
해당 폴더에 배치파일을 두고 실행하시려면 다음처럼 해보시구요.
@echo off
set rootdir=%~dp0*
for /d %%a in ("%rootdir%") do rd /s/q "%%a" & exit
배치파일 위치를 다른 곳에 두고 싶으시면 아래처럼 해보십시오.
@echo off
set rootdir=d:\해당 폴더\*
for /d %%a in ("%rootdir%") do rd /s/q "%%a" & exit