강좌 / 팁

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

2023.01.30 07:56

지후빠 조회:702 추천:16

안녕하세요?

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

어떤 폴더 내의 파일이나 폴더를 랜덤하게 하나 선택하는 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 - - -
84 기 타| BCD편집으로 USB에 PE 2개 넣기 [41] lakeside 7162 32 05-23
83 윈 도 우| 멀티부팅 선택 우클릭메뉴 [16] 와로 3372 32 04-17
82 윈 도 우| [실사] VHD 교차부팅 수동&자동 등록 [18] 무월 1986 32 10-07
81 윈 도 우| Win10xpe 빌드 [53] 제이유컴 5061 33 06-08
80 윈 도 우| 카리스마조님 마지막 PrincePE USB만들기 입니다. [27] 하늘은높고 3416 33 03-10
79 윈 도 우| 모든 Windows 10 키보드 단축키 목록 [16] VₑₙᵤₛG 3304 33 11-29
78 기 타| RSImageX 기본 파일 구성 [19] suk 2651 33 02-14
77 윈 도 우| 윈도우11,10 MS계정 없이 로컬 계정으로 설치하기 [31] 무월 3923 33 06-24
76 윈 도 우| 윈도우10 & 11 작업표시줄 시계에 요일 나오게 하는 방법! [28] 무월 2431 33 06-22
75 윈 도 우| ReBoot 시 Bios 로 바로 진입하기 [12] 타천사둘리 1720 33 05-05
74 윈 도 우| [Tip] 윈도우11 우클릭 메뉴 [18] 무월 2511 33 05-21
73 소프트웨어| [Tip] 종류별 유용한 윈도우 프로그램 총정리 [34] Drivel 4671 34 02-13
72 윈 도 우| ISO 뼈대 boot.wim에서 Diskpart GPT/ESP 파티션 생성 팁! [25] Geheimnis 2931 34 06-30
71 윈 도 우| [uupdump] 윈도우 업데이트 및 드라이버(IRST&NVMe) 통... [17] 무월 2361 34 03-28
70 윈 도 우| WinPE 한글화 관련(1) [25] sunshine 5502 35 02-18
69 윈 도 우| Windows Defender 방화벽 인/아웃바운드 허용/차단 추가 [20] 무월 2116 35 08-18
68 소프트웨어| LaunchBar boot.wim 적용 방법 [12] 무월 1591 35 08-13
67 윈 도 우| [실사] 윈도우 11 VHD 교차부팅(자동) 설정 - VHDMan [16] 무월 1963 35 08-27
66 윈 도 우| 초보용 팁 _ Winxpe 로 PE 만들기 [41] lakeside 23123 36 05-25
65 윈 도 우| 카조님의 PrincePE_V36 버전을 USB에 마무리 하는 방법입... [36] 하늘은높고 3885 36 03-11
XE1.11.6 Layout1.4.8