Step 6: Create the URLs List for Batch Download
-
In the command prompt opened from Step 1 and 2, at C:\Video>, enter:
notepad ___batch_download_urls.txt
This opens a new text file in Notepad.
-
Add video/playlist/channel URLs to the text file, one per line, example ___batch_download_urls.txt content:
# Batch Download URLs List
# URLs processed top-down
# Organize with #comments/blank lines
# Existing files are automatically skipped
# Individual Videos
https://youtu.be/mgZaT-OriO8
# Playlists
# The Tucker Carlson Show
https://www.youtube.com/playlist?list=PLYa964dzJh1J545AyFlLepb2Prert15te
# The Joe Rogan Experience
https://www.youtube.com/playlist?list=PLk1Sqn_f33KuWf3tW9BBe_4TP7x8l0m3T
# Channels
https://www.youtube.com/@TuckerCarlson
https://www.youtube.com/@joerogan
-
Save the file by pressing Ctrl+S or selecting File → Save from the menu.
Step 7: Create the Batch Download Script
-
In the command prompt opened from Step 1 and 2, at C:\Video>, enter:
notepad ___batch_download.cmd
This opens another new text file in Notepad.
-
Copy and paste the following script into Notepad:
:: Download Command
:: Note: In .cmd scripts, a single % must be written as %% (double %) to be used literally.
yt-dlp.exe -f "bv+ba" -N 16 -R infinite --write-subs --write-auto-subs --embed-subs --sub-lang en.* -o "%%(channel&[{}]-|)s%%(playlist_title&[{}]-|)s%%(playlist_index&[#{}]-|)s%%(uploader&[{}]-|)s%%(title&[{}]-|)s[%%(duration>%%Hh%%Mm%%Ss)s]-[%%(id)s]-[%%(resolution)s]-[%%(format_id)s].%%(ext)s" -a ___batch_download_urls.txt
:: Pause to keep window open after completion
PAUSE
-
Save the file by pressing Ctrl+S or selecting File → Save from the menu.
Step 8: Run the Batch Download Script
-
Option 1: Double-click ___batch_download.cmd in C:\Video in File Explorer.
-
Option 2: In the command prompt opened from Step 1 and 2 C:\Video>, enter:
___batch_download.cmd
yt-dlp Command Options
Full Command List:
https://github.com/yt-dlp/yt-dlp
The core program for downloading videos:
yt-dlp.exe
Selects the best video format with a resolution ≤8640p (16K) and best audio.
Adjust <=8640 to a lower value to save time, bandwidth and storage (e.g., <=4320 <=2160, <=1080, <=720, <=480, <=360, <=240, <=144).
Use --list-formats to list available formats.
Some sites do not support [height<=*]
If you encounter format selection errors, use -f "bv+ba" to automatically select the best available video and audio formats without specifying a resolution.
-f "bv*[height<=8640]+ba
or
-f "bv+ba"
Uses 16 threads for faster downloads:
-N 16
Infinite download retries:
-R infinite
Download all manual and auto-generated subtitles in English and convert them to .srt
format.
--sub-lang "en.,ja."` to specify languages (e.g., English and Japanese).
--sub-lang all` to download all available subtitles.
--embed-subs to embed subtitles directly into the video file.
--write-subs --write-auto-subs --embed-subs --sub-lang en.*
Defines the output filename format.
-o "{format}"
Channel name ([{Channel Name}]- if available, blank if not)
%(channel&[{}]-|)s
Playlist name
%(playlist_title&[{}]-|)s
Playlist position (e.g., #1):
%(playlist_index&[#{}]-|)s
Video duration (e.g., 1h30m30s):
%(duration>%%Hh%%Mm%%Ss)s
Format id to avoid filename conflicts between formats:
%(format_id)s
Read URLs from a text file:
-a ___batch_download_urls.txt