Вы должны войти, чтобы создавать сообщения и темы.

Программы и другие способы для скачивания с Youtube

1◄Страница 22 из 27► 27

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
Лайкнули shim, Psydiant и ещё 2
shimPsydiantЛатукИмир
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: Mikhail от 24.07.2025, 16:00

shim, Чуть переделал.

 

Спасибо.

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 и Латук
MikhailЛатук

Vlado, Привет.
Да, надо было переделать, потестил и сразу скопировал, еще паузу в конце можно удалить чтоб сразу закрывалось окно.

P.S Люди все равно свой путь вставляют, так как потом открывается explorer как и было до, поэтому разберутся)

Лайкнул Vlado
Vlado
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

надо было переделать / еще паузу в конце можно удалить чтоб сразу закрывалось окно.

pause надо оставлять, если ошибка при загрузке
исправил

pause надо оставлять, если ошибка при загрузке

Когда перестанет качать, добавят😅

Лайкнул Vlado
Vlado
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: 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, Латук и Alexander
PsydiantЛатукAlexander
Цитата: Mikhail от 24.07.2025, 16:00

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
@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
Mikhail

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, с использованием средств обхода замедления работает корректно: принудительно вставляет ключевой кадр в начало вырезанного фрагмента видео. В принципе можно использовать вот этот скрипт, он тоже работает корректно:

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

 

Имир, У меня не работает, хотя ролики качаются бес проблем вообще, попробуй код ниже, на работоспособность естественно не проверял.

@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

 

Лайкнул Имир
Имир
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Mikhail, проверил, отлично работает! Даже если вести без лишних нулей слева, он всё рано понимает команду! Спасибо большое!

Здравствуйте 
Подскажите , что делаю не так скрин

1◄Страница 22 из 27► 27