윈 도 우 폴더 깊이 제한하여 파일,폴더 찾기 배치 함수
2023.01.12 19:29
안녕하세요? 질문 게시판 - https://windowsforum.kr/qna/18896097 - 보고 호기심에 만들어 봅니다. ^^
이전에도 특정 이름의 폴더/파일을 몇 단계 깊은 경로에서 찾아내는 것이 필요하겠다고 생각한 적이 있었는데,
오늘 질문을 보고서 재귀적인 함수(sub-procedure) 형태로 만들어 쉽게 배치파일에서 사용해보려는 시도입니다.
- 서브 프로시져 이름은 FINDRECUR(Find Recursive)로 정하였으나 다른 좋은 이름이 있을까요?
- FindInSub 등 원하시는 이름으로 변경하여 사용해보시면 좋을 것 같습니다.
사용법 : call :FINDRECUR <찾을 시작위치> <찾을 폴더나 파일 이름> <폴더 깊이> <찾은 경로를 돌려받을 변수 이름>
- 4개의 파라미터가 필요합니다.첫번째, 두번째 파라미터에 공백이 포함되어 있으면 쌍따옴표로 감싸줍니다.
- 첫번째 <찾을 시작위치> ; 찾기 시작할 루트 경로입니다. 마지막에 \을 포함하여야 합니다.
- 두번째 <찾을 폴더나 파일 이름> ; 드물겠지만 특수 문자가 있으면 오류날 가능성 있습니다.
- 세번째 <폴더 깊이> ; 첫번째 시작할 루트 경로 안에 있는 것이 1 LEVEL 입니다. 1,2,3 등 쌍따옴표 없이
- 네번째 <찾은 경로를 돌려받을 변수 이름> ; 변수 이름으로 합당한 것으로... 가능하면 공백,쌍따옴표 없이
- 검색 결과로 첫번째 찾은 경로 이름만 반환하고 멈춥니다. 필요시 검색 순서를 바꾸어 뒤에 것 부터 찾을 수도 있습니다.
- <폴더 깊이>에 따라 속도 차이가 있고, $RECYCLE.BIN System Volume Information 등 숨긴 폴더는 제외합니다.(-h)
- FINDRECUR 사용예는 아래 스크린샷을 참고하십시오.
- 찾았을때
- 못찾았을때
일 마치고 잠깐 해본다는 것이 시간이 금방가네요. 일 마무리해야 해서 일단 올립니다.
테스트 가능하신 분은 개선점이나 오류를 댓글로 올려주시면 수정해보겠습니다.^^ 앗! 퇴근=3=3=3
댓글 [11]
-
cungice 2023.01.12 19:46
-
가로등 2023.01.12 20:21
순서가 가장 먼저인 드라이브와 폴더에서, 첫번째로 발견되는 검색폴더를 결과 값으로 보여주네요.
많은 도움이 되었습니다. 감사합니다.
-
지후빠 2023.01.12 20:30
검색 순서는 D E F G H I J K L M N O P Q R S T U V W X Y Z 순서를 바꾸거나 제한하여 수정할 수 있습니다.
예를 들면 Z Y W V ~~ D C 등으로... ㅎ~
확인 댓글 감사합니다. ^^
-
가로등 2023.01.13 00:54
어이쿠! 제가 감사합니다. ^^
-
슈머슈마 2023.01.12 21:00
지후빠님은 다양하게 연구를 하시네요.
감사합니다.
-
지후빠 2023.01.12 23:06
이전에 vbs에서 해보던 것이라서 개념상 비슷해서요. ^^
-
왕초보 2023.01.12 21:29
cmd로도 가능한 작업이라는것을 글을 보고 알았습니다
좋은 선물 감사합니다..
-
지후빠 2023.01.12 23:08
검색해보니 쓸만하게 눈에 띄는 것이 없어서 해보게 되었습니다. ^^
-
샤 2023.01.12 22:28
수고하셨습니다.
-
메리아 2023.01.13 00:27 -
-
지후빠 2023.01.13 11:00
이전에는 for /d, for /r 쪽으로만 생각하다 보니 잘 안되었었습니다. ^^
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
» | 윈 도 우| 폴더 깊이 제한하여 파일,폴더 찾기 배치 함수 [11] | 지후빠 | 1382 | 16 | 01-12 |
4261 | 윈 도 우| 배치파일 명령어 > nul 2>&1 해석 [5] | 컨피그 | 1383 | 12 | 01-11 |
4260 | 윈 도 우| BCD 백업 및 복구 프로그램 입니다 [14] | 지룡자 | 2926 | 41 | 01-10 |
4259 | 하드웨어| Windows 11에서 Realtek 오디오 드라이버를 쉽게 수정하는 ... [6] | VᴇɴᴜꜱGɪ | 3024 | 7 | 01-04 |
4258 | 하드웨어| USB 키패드를 매크로 키패드로 사용하기 [7] | 지후빠 | 2183 | 16 | 01-02 |
4257 | 윈 도 우| 삭제할수 없는 시스템 앱, 삭제 방법 [8] |
|
3688 | 13 | 01-01 |
4256 | 소프트웨어| Wise care 365 사용시 주의점 [5] | heykevin | 2636 | 9 | 12-30 |
4255 | 윈 도 우| 포맷없이 , diskpart 작업 없이 기존 디스크에 EFI 파티션 ... [14] | heykevin | 3617 | 24 | 12-30 |
4254 | 윈 도 우| Chromium 기반 브라우저 OS 지원 종료 예정 알림 제거 자동... [8] | 녹색조각 | 1697 | 15 | 12-29 |
4253 | 윈 도 우| IP 주소 변경 배치(DSN/WINS) [20] | 무월 | 3882 | 30 | 12-28 |
4252 | 윈 도 우| Microsoft Update 카탈로그 (업데이트 항목 . 빨리 받아 적... [3] | heykevin | 1442 | 7 | 12-28 |
4251 | 하드웨어| ASROCK 메인보드에 관하여..... [5] | 밤이슬216 | 2757 | 5 | 12-25 |
4250 | 소프트웨어| 마우스 두개 양손 사용시 왼손 마우스 버튼 스왑 [7] | 지후빠 | 1316 | 13 | 12-24 |
4249 | 윈 도 우| 장치 드라이버 업데이트 파워쉘로 확인하기 [1] |
|
1600 | 7 | 12-22 |
4248 | 윈 도 우| Windows 10, 12월 보안 패치(KB5021233) 설치 후 뜨는 블루... [5] | 타천사둘리 | 2012 | 8 | 12-20 |
4247 | 윈 도 우| [실사] USB 테더링으로 PC 인터넷 랜 드라이버 설치하기! [8] | 무월 | 1838 | 15 | 12-20 |
4246 | 윈 도 우| 관리자보다 더쎈 권한으로, 접근제한 에러 뚫기 [20] |
|
4662 | 16 | 12-18 |
4245 | 윈 도 우| KB5018863 업데이트 제거하기(22621.1037로 버전 바꾸기) [5] | 타천사둘리 | 1631 | 5 | 12-16 |
4244 | 윈 도 우| 윈도우 호스트 만들기 - 몇가지 추가 [11] | 슈머슈마 | 1838 | 10 | 12-15 |
4243 | 윈 도 우| 윈도우 호스트에 온라인 광고차단 호스트 파일 추가, 기본 ... [14] | 슈머슈마 | 2182 | 14 | 12-13 |
수고 많으셨습니다. 감사합니다.