Программы и другие способы для скачивания с Youtube
Цитата: Mikhail от 24.07.2025, 16:00shim, Чуть переделал.
@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=%UserProfile%\Desktop\" for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo================== echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p echo================== choice /c 1234 /n /m "" set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка при загрузке. pause ) else ( explorer.exe "%OUTPATH%" ) endlocal exit
shim, Чуть переделал.
@echo off
chcp 65001>nul
setlocal enabledelayedexpansion
set "OUTPATH=%UserProfile%\Desktop\"
for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i"
if not defined URL (
echo Буфер обмена пуст или не содержит ссылку.
pause
exit /b 1
)
echo Выберите качество:
echo==================
echo 1. 1080p
echo 2. 720p
echo 3. 480p
echo 4. 360p
echo==================
choice /c 1234 /n /m ""
set "SEL=%errorlevel%"
if "%SEL%"=="1" set "HEIGHT=1080"
if "%SEL%"=="2" set "HEIGHT=720"
if "%SEL%"=="3" set "HEIGHT=480"
if "%SEL%"=="4" set "HEIGHT=360"
yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%"
if errorlevel 1 (
echo Ошибка при загрузке.
pause
) else (
explorer.exe "%OUTPATH%"
)
endlocal
exit
Цитата: Vlado от 24.07.2025, 16:37Mikhail, Приветствую.
set "OUTPATH=C:\Users\Admin\Desktop\"
Фиксированный путь, Admin не у всех.
%UserProfile%\Desktop
/
for /f "usebackq delims=" %%i in (`PowerShell "[Environment]::GetFolderPath('Desktop')"`) do set PathDesktop=%%i
Mikhail, Приветствую.
Скопированоset "OUTPATH=C:\Users\Admin\Desktop\"
Фиксированный путь, Admin не у всех.
%UserProfile%\Desktop
/
for /f "usebackq delims=" %%i in (`PowerShell "[Environment]::GetFolderPath('Desktop')"`) do set PathDesktop=%%i
Цитата: Mikhail от 24.07.2025, 16:40Vlado, Привет.
Да, надо было переделать, потестил и сразу скопировал, еще паузу в конце можно удалить чтоб сразу закрывалось окно.P.S Люди все равно свой путь вставляют, так как потом открывается explorer как и было до, поэтому разберутся)
Vlado, Привет.
Да, надо было переделать, потестил и сразу скопировал, еще паузу в конце можно удалить чтоб сразу закрывалось окно.
P.S Люди все равно свой путь вставляют, так как потом открывается explorer как и было до, поэтому разберутся)
Цитата: Vlado от 24.07.2025, 16:43надо было переделать / еще паузу в конце можно удалить чтоб сразу закрывалось окно.
pause надо оставлять, если ошибка при загрузке
исправил
надо было переделать / еще паузу в конце можно удалить чтоб сразу закрывалось окно.
pause надо оставлять, если ошибка при загрузке
исправил
Цитата: Mikhail от 24.07.2025, 16:48pause надо оставлять, если ошибка при загрузке
Когда перестанет качать, добавят😅
pause надо оставлять, если ошибка при загрузке
Когда перестанет качать, добавят😅
Цитата: Cronos от 25.07.2025, 21:27Цитата: shim от 24.07.2025, 15:34Приветствую! А можно еще добавить, чтобы к названию ролика приписывалось качество, с которым оно скачано?Спасибо.
Привет. Да это просто на самом деле
@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=C:\Users\Admin\Desktop\" for /f "delims=" %%i in (' mshta "javascript:var x=clipboardData.getData('text'); if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x); close();" ') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p choice /c 1234 /n /m "Введите цифру: " set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s-%HEIGHT%.%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка. ) else ( explorer.exe "%OUTPATH%" ) endlocal pause
Цитата: shim от 24.07.2025, 15:34Приветствую! А можно еще добавить, чтобы к названию ролика приписывалось качество, с которым оно скачано?Спасибо.
Привет. Да это просто на самом деле
@echo off
chcp 65001>nul
setlocal enabledelayedexpansion
set "OUTPATH=C:\Users\Admin\Desktop\"
for /f "delims=" %%i in ('
mshta "javascript:var x=clipboardData.getData('text'); if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x); close();"
') do set "URL=%%i"
if not defined URL (
echo Буфер обмена пуст или не содержит ссылку.
pause
exit /b 1
)
echo Выберите качество:
echo 1. 1080p
echo 2. 720p
echo 3. 480p
echo 4. 360p
choice /c 1234 /n /m "Введите цифру: "
set "SEL=%errorlevel%"
if "%SEL%"=="1" set "HEIGHT=1080"
if "%SEL%"=="2" set "HEIGHT=720"
if "%SEL%"=="3" set "HEIGHT=480"
if "%SEL%"=="4" set "HEIGHT=360"
yt-dlp -o "%OUTPATH%\%%(title)s-%HEIGHT%.%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%"
if errorlevel 1 (
echo Ошибка.
) else (
explorer.exe "%OUTPATH%"
)
endlocal
pause
Цитата: Psydiant от 07.08.2025, 10:41Цитата: Mikhail от 24.07.2025, 16:00shim, Чуть переделал.
@echo offchcp 65001>nulsetlocal enabledelayedexpansionset "OUTPATH=%UserProfile%\Desktop\"for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i"if not defined URL (echo Буфер обмена пуст или не содержит ссылку.pauseexit /b 1)echo Выберите качество:echo==================echo 1. 1080pecho 2. 720pecho 3. 480pecho 4. 360pecho==================choice /c 1234 /n /m ""set "SEL=%errorlevel%"if "%SEL%"=="1" set "HEIGHT=1080"if "%SEL%"=="2" set "HEIGHT=720"if "%SEL%"=="3" set "HEIGHT=480"if "%SEL%"=="4" set "HEIGHT=360"yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%"if errorlevel 1 (echo Ошибка при загрузке.pause) else (explorer.exe "%OUTPATH%")endlocalexit@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=%UserProfile%\Desktop\" for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo================== echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p echo================== choice /c 1234 /n /m "" set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка при загрузке. pause ) else ( explorer.exe "%OUTPATH%" ) endlocal exit@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=%UserProfile%\Desktop\" for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo================== echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p echo================== choice /c 1234 /n /m "" set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка при загрузке. pause ) else ( explorer.exe "%OUTPATH%" ) endlocal exitПривет! Спасибо! Как раз пригодится)
Цитата: Mikhail от 24.07.2025, 16:00shim, Чуть переделал.
@echo offchcp 65001>nulsetlocal enabledelayedexpansionset "OUTPATH=%UserProfile%\Desktop\"for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i"if not defined URL (echo Буфер обмена пуст или не содержит ссылку.pauseexit /b 1)echo Выберите качество:echo==================echo 1. 1080pecho 2. 720pecho 3. 480pecho 4. 360pecho==================choice /c 1234 /n /m ""set "SEL=%errorlevel%"if "%SEL%"=="1" set "HEIGHT=1080"if "%SEL%"=="2" set "HEIGHT=720"if "%SEL%"=="3" set "HEIGHT=480"if "%SEL%"=="4" set "HEIGHT=360"yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%"if errorlevel 1 (echo Ошибка при загрузке.pause) else (explorer.exe "%OUTPATH%")endlocalexit@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=%UserProfile%\Desktop\" for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo================== echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p echo================== choice /c 1234 /n /m "" set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка при загрузке. pause ) else ( explorer.exe "%OUTPATH%" ) endlocal exit@echo off chcp 65001>nul setlocal enabledelayedexpansion set "OUTPATH=%UserProfile%\Desktop\" for /f "delims=" %%i in ('powershell -noprofile -command "Get-Clipboard"') do set "URL=%%i" if not defined URL ( echo Буфер обмена пуст или не содержит ссылку. pause exit /b 1 ) echo Выберите качество: echo================== echo 1. 1080p echo 2. 720p echo 3. 480p echo 4. 360p echo================== choice /c 1234 /n /m "" set "SEL=%errorlevel%" if "%SEL%"=="1" set "HEIGHT=1080" if "%SEL%"=="2" set "HEIGHT=720" if "%SEL%"=="3" set "HEIGHT=480" if "%SEL%"=="4" set "HEIGHT=360" yt-dlp -o "%OUTPATH%\%%(title)s [%HEIGHT%p].%%(ext)s" -f "bestvideo[ext=mp4][height<=%HEIGHT%]+bestaudio[ext=m4a]/best[ext=mp4]/best" "%URL%" if errorlevel 1 ( echo Ошибка при загрузке. pause ) else ( explorer.exe "%OUTPATH%" ) endlocal exit
Привет! Спасибо! Как раз пригодится)
Цитата: Имир от 13.08.2025, 15:14Mikhail, добрый день! Спасибо за код, очень удобная функция!
Подскажите, пожалуйста! У меня есть вот такой cmd-файл для скачивания фрагмента видео. Можно ли сделать поле для ввода временных отметок (00:00:00-00:00:00), чтобы каждый раз не приходилось редактировать cmd-файл?set "outpath=%cd%" for /f "delims=" %%i in (' mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();" ') do set ClipboardData=%%i yt-dlp --force-keyframes-at-cuts --download-sections "*00:02:00-00:02:10" "%ClipboardData%" pause
Mikhail, добрый день! Спасибо за код, очень удобная функция!
Подскажите, пожалуйста! У меня есть вот такой cmd-файл для скачивания фрагмента видео. Можно ли сделать поле для ввода временных отметок (00:00:00-00:00:00), чтобы каждый раз не приходилось редактировать cmd-файл?
set "outpath=%cd%"
for /f "delims=" %%i in ('
mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"
') do set ClipboardData=%%i
yt-dlp --force-keyframes-at-cuts --download-sections "*00:02:00-00:02:10" "%ClipboardData%"
pause
Цитата: Mikhail от 13.08.2025, 15:55Имир, Привет.
И как, твой скрипт работает?, он же налету режет, по крайне мере пытается.
Имир, Привет.
И как, твой скрипт работает?, он же налету режет, по крайне мере пытается.
Цитата: Имир от 13.08.2025, 17:21Mikhail, с использованием средств обхода замедления работает корректно: принудительно вставляет ключевой кадр в начало вырезанного фрагмента видео. В принципе можно использовать вот этот скрипт, он тоже работает корректно:
set "outpath=%cd%" for /f "delims=" %%i in (' mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();" ') do set ClipboardData=%%i yt-dlp -f "bestvideo[ext=mp4][height<=1080]+bestaudio[ext=m4a]/best[ext=mp4]/best" --force-keyframes-at-cuts --download-sections "*00:02:00-00:02:10" "%ClipboardData%" pause
Mikhail, с использованием средств обхода замедления работает корректно: принудительно вставляет ключевой кадр в начало вырезанного фрагмента видео. В принципе можно использовать вот этот скрипт, он тоже работает корректно:
set "outpath=%cd%"
for /f "delims=" %%i in ('
mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"
') do set ClipboardData=%%i
yt-dlp -f "bestvideo[ext=mp4][height<=1080]+bestaudio[ext=m4a]/best[ext=mp4]/best" --force-keyframes-at-cuts --download-sections "*00:02:00-00:02:10" "%ClipboardData%"
pause
Цитата: Mikhail от 13.08.2025, 17:32Имир, У меня не работает, хотя ролики качаются бес проблем вообще, попробуй код ниже, на работоспособность естественно не проверял.
@echo off chcp 65001 >nul set "outpath=%cd%" for /f "delims=" %%i in (' mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();" ') do set "ClipboardData=%%i" set /p "TimeRange=формат ввода 00:00:00-00:00:00: " set "TimeRange=%TimeRange: =%" yt-dlp --force-keyframes-at-cuts --download-sections "*%TimeRange%" "%ClipboardData%" pause
Имир, У меня не работает, хотя ролики качаются бес проблем вообще, попробуй код ниже, на работоспособность естественно не проверял.
@echo off
chcp 65001 >nul
set "outpath=%cd%"
for /f "delims=" %%i in ('
mshta "javascript:var x=clipboardData.getData('text');if(x) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();"
') do set "ClipboardData=%%i"
set /p "TimeRange=формат ввода 00:00:00-00:00:00: "
set "TimeRange=%TimeRange: =%"
yt-dlp --force-keyframes-at-cuts --download-sections "*%TimeRange%" "%ClipboardData%"
pause
Цитата: Имир от 13.08.2025, 18:44Mikhail, проверил, отлично работает! Даже если вести без лишних нулей слева, он всё рано понимает команду! Спасибо большое!
Mikhail, проверил, отлично работает! Даже если вести без лишних нулей слева, он всё рано понимает команду! Спасибо большое!