강좌 / 팁

윈 도 우 특정 폴더 내 임의 파일/폴더 선택 배치 함수

2023.01.29 22:56

지후빠 조회:781 추천:17

안녕하세요?

게시물 보다가 궁금하여 검색해보았는데 이거다 싶은 것이 없어서 검색한 것 참고하여 만들어 봤습니다.

어떤 폴더 내의 파일이나 폴더를 랜덤하게 하나 선택하는 batch function 입니다.

 

예를 들어, 윈도우11에서 C:\Windows\Web\Wallpaper 하위 폴더와 파일 구조는 다음과 같습니다.

여기에서 C:\Windows\Web\Wallpaper 하위의 임의 jpg 파일이나 Theme? 폴더를 선택하고 싶을때 사용할 수 있습니다.

C:\Windows\Web\Wallpaper\Extended

C:\Windows\Web\Wallpaper\Spotlight

C:\Windows\Web\Wallpaper\ThemeA

C:\Windows\Web\Wallpaper\ThemeB

C:\Windows\Web\Wallpaper\ThemeC

C:\Windows\Web\Wallpaper\ThemeD

C:\Windows\Web\Wallpaper\Windows

C:\Windows\Web\Wallpaper\Spotlight\img14.jpg

C:\Windows\Web\Wallpaper\Spotlight\img50.jpg

C:\Windows\Web\Wallpaper\ThemeA\img20.jpg

C:\Windows\Web\Wallpaper\ThemeA\img21.jpg

C:\Windows\Web\Wallpaper\ThemeA\img22.jpg

C:\Windows\Web\Wallpaper\ThemeA\img23.jpg

C:\Windows\Web\Wallpaper\ThemeB\img24.jpg

C:\Windows\Web\Wallpaper\ThemeB\img25.jpg

C:\Windows\Web\Wallpaper\ThemeB\img26.jpg

C:\Windows\Web\Wallpaper\ThemeB\img27.jpg

C:\Windows\Web\Wallpaper\ThemeC\img28.jpg

C:\Windows\Web\Wallpaper\ThemeC\img29.jpg

C:\Windows\Web\Wallpaper\ThemeC\img30.jpg

C:\Windows\Web\Wallpaper\ThemeC\img31.jpg

C:\Windows\Web\Wallpaper\ThemeD\img32.jpg

C:\Windows\Web\Wallpaper\ThemeD\img33.jpg

C:\Windows\Web\Wallpaper\ThemeD\img34.jpg

C:\Windows\Web\Wallpaper\ThemeD\img35.jpg

C:\Windows\Web\Wallpaper\Windows\img0.jpg

C:\Windows\Web\Wallpaper\Windows\img19.jpg

 

pick_one_randomly.bat

pick_one_randomly.jpg

 

배치 파일에 만든 5개의 함수가 있는데, 앞쪽 4개는 종류별로 만들어보고, 5번째 :pickone 하나로 합친 것입니다.

앞쪽 4개는 참고용이라 5번째 :pickone 만 설명드리겠습니다. 옵션별 사용 예제 4개가 배치파일에 들어있습니다.

 

:pickone <start root> <file type> <variable assigned> <option = /r,/d,"/d /r">

setlocal enabledelayedexpansion & pushd %~1 & set i=0

for %~4 %%# in (%~2) do set "#!i!=%%~#" & set /a i+=1

set /a #="%random% %% i"

set "##=!#%#%!" & set "##=%~1\!##:%~1\=!"

endlocal & set "%~3=%##%" & exit /b

 
call :pickone <start root> <file type> <variable assigned> <option = /r,/d,"/d /r">
- 첫번째 <start root> ; C:\Windows\Web\Wallpaper 형태로 끝에 \ 없이 폴더를 지정, 공백 포함시 쌍따옴표로 묶어줍니다.
- 두번째 <file type> ; 파일 타입이나 폴더명, 와일드 카드 사용, *,jpg Theme? 등
- 세번째 <variable assigned> ; 선택한 전체 경로를 할당할 변수 지정, 예) pick1
- 네번째 <option = /r,/d,"/d /r"> ; 생략시 <start root> 경로내에서 파일만 찾고, /d 는 폴더를 대상으로, /r 은 서브 폴더 포함한 전체에서, "/d /r" 은 서브 폴더 포함하여 폴더를 대상으로 찾습니다.
 
임의 파일을 선택하여 실행(재생)하거나 배경화면으로 지정하는 등에서 사용할 수 있을 것 같습니다.^^
밤이 깊어 갑니다. 편히 주무십시오. ^^;
 
pick_one_randomly_code.jpg

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4284 소프트웨어| 구글 캘린더로 매년 X월의 Y번째 요일에 반복 설정하기 asklee 979 2 03-26
4283 소프트웨어| [펌]VirtualBox 로컬 드라이브 연결하기 [2] 타천사둘리 1448 9 03-23
4282 윈 도 우| PC 나 노트북 종료시 전원차단 안 될 때 조치방법 [6] 타천사둘리 2985 6 03-21
4281 윈 도 우| Wifi 패스워드 (종료!!!) [27] kernel 6222 19 03-12
4280 소프트웨어| 배치파일로 2GB 이상 계산과 batch hybrid [7] 지후빠 1465 13 03-05
4279 소프트웨어| 팁: VirtualBox 7의 Windows 10/11에서 NVMe 드라이버 활성... [3] VᴇɴᴜꜱGɪ 1237 9 03-05
4278 윈 도 우| 구글 검색 결과를 가장한 리다이렉션 광고 링크 제거하기 (... [11] 오호라7 4159 26 02-26
4277 윈 도 우| 윈도우 업데이트 다운로드 및 설치 오류 조치 [6] 미스라 3724 5 02-17
4276 모 바 일| 뉴진스 음악에서 보컬만 추출하기? 이거 하나면 끝!!! | mp... toz21 1974 0 02-14
4275 윈 도 우| IE 강제 실행 스크립트 + 탭 여러개 열기 [5] 녹색조각 2864 14 02-14
4274 기 타| 파이어 폭스 무설치 만들기 [17] 슈머슈마 1629 9 02-12
4273 윈 도 우| 향상된 윈도우 자동 로그인 On/Off 스크립트 [6] zerojiddu 2841 13 02-11
4272 소프트웨어| 현존 최강 무료 동영상 편집기 소개 및 활용법 안내 | 이게... [13] toz21 2780 7 02-11
4271 소프트웨어| Pecmd.ini 위치를 Windows폴더로 이동 [6] 카멜 813 10 02-10
4270 윈 도 우| 파일을 디펜더가 차단할때, 파워쉘로 허용시키기 [7] zerojiddu 1824 14 02-06
4269 윈 도 우| 강제로 Internet Explorer 열기 스크립트 [13] 사랑이7 3187 21 02-05
4268 윈 도 우| 윈도우11 $OEM$소스 및 WinNTSetup 응용 설치! [40] 무월 3642 51 02-03
4267 윈 도 우| 윈도우 부팅시 신용카드 정보를 요구할때 넘어가기 [5] 고장난우주 2506 1 02-01
4266 윈 도 우| 감춰진 모든 고급 전원옵션 표시하기 [4] zerojiddu 2262 13 01-30
» 윈 도 우| 특정 폴더 내 임의 파일/폴더 선택 배치 함수 [10] 지후빠 781 17 01-29
XE1.11.6 Layout1.4.8