Как выглядит пакетный файл YT-DLP для MS-DOS, который принимает URL-адреса, скопированные в буфер обмена?
Пожалуйста, просмотрите командный файл ниже.
Цель
... значит запустить yt-dlp в пакетном файле, который затем выдаст меню с шестью опциями:
- yt-dlp "%temp_file%"
- yt-dlp -f лучший "%temp_file%"
- yt-dlp --write-sub "%temp_file%"
- yt-dlp --sub-lang в "%temp_file%"
- yt-dlp -cit "%temp_file%"
- yt-dlp -x --audio-format mp3 "%temp_file%"
Метод, который я придумал, заключался в использовании переменной, которую я назвалtemp_file
, который будет заполнен содержимым буфера обмена, это URL-адрес видео YouTube, которое будет передано (по конвейеру?) программе yt-dlp в командной строке. Но это, к сожалению, не работает. Проблема может быть на шаге Б. Скопируйте содержимое буфера обмена во временный файл . Этого не происходит вообще.
Что я пытался сделать, шаг Б:
- с помощью Powershell Command-let Get-clipboard
- приложение CLIP.EXE
- создание временного файла
Но они не работают, или я сделал что-то не так. Сообщение об ошибке:
"The syntax of the command is incorrect."
Вопрос:
Можете ли вы сказать мне, где приведенный ниже командный файл идет не так и выдает это сообщение об ошибке? И как это исправить, чтобы он принимал содержимое буфера обмена и передавал его... в Yt-Dlp ?
set "temp_file=%TEMP%\%RANDOM%"
EDIT
:: B. Copy the contents of the clipboard to the temporary file
powershell -command "Add-Type -AssemblyName PresentationCore; [Windows.Clipboard]::GetText() | Out-File -FilePath 'temp_file.txt'"
:: clip < NUL > "%temp_file%"
:: I left this in by accident, sorry about that. This only puts things
:: **on** the clipboard, while I thought this would get things *out* of
:: the clipboard. Which doesn't seem so unreasonable?
:: Display the menu
echo Please select an option:
echo 1. Download with yt-dlp
echo 2. Download with yt-dlp (best quality)
echo 3. Download with yt-dlp (with subtitles)
echo 4. Download with yt-dlp (with English subtitles)
echo 5. Download with yt-dlp (with captions)
echo 6. Download with yt-dlp (audio only)
:: Get user input
set /p choice=Enter your choice:
:: Process the user's choice
if "%choice%"=="1" (
yt-dlp "%temp_file%"
) else if "%choice%"=="2" (
yt-dlp -f best "%temp_file%"
) else if "%choice%"=="3" (
yt-dlp --write-sub "%temp_file%"
) else if "%choice%"=="4" (
yt-dlp --sub-lang en "%temp_file%"
) else if "%choice%"=="5" (
yt-dlp -cit "%temp_file%"
) else if "%choice%"=="6" (
yt-dlp -x --audio-format mp3 "%temp_file%"
) else (
echo Invalid choice. Please try again.
)
:: Pause the script so that you can see the output
pause
:: Delete the temporary file
del "%temp_file%"
:: Exit the script
exit /B```
1 ответ
Думаю, я нашел это. Пакетный файл MS-DOS, который загружает видео с YouTube, когда вы скопировали URL-адрес в буфер обмена, выглядит следующим образом:
@echo off
setlocal EnableDelayedExpansion
echo setlocal EnableDelayedExpansion
pause
:: B. Copy the contents of the clipboard to the temporary file
FOR /F "usebackq delims=" %%i IN (`powershell -command "Get-Clipboard"`) DO SET temp_file=%%i
echo %temp_file%
pause
:: C. Display the menu
echo Please select an option:
echo 1. Download with yt-dlp
echo 2. Download with yt-dlp (best quality)
echo 3. Download with yt-dlp (with subtitles)
echo 4. Download with yt-dlp (with English subtitles)
echo 5. Download with yt-dlp (with captions)
echo 6. Download with yt-dlp (audio only)
:: D. Get user input
set /p choice=Enter your choice:
:: E. Process the user's choice
if "%choice%"=="1" (
yt-dlp "%temp_file%"
) else if "%choice%"=="2" (
yt-dlp -f best "%temp_file%"
) else if "%choice%"=="3" (
yt-dlp --write-sub "%temp_file%"
) else if "%choice%"=="4" (
yt-dlp --sub-lang en "%temp_file%"
) else if "%choice%"=="5" (
yt-dlp -cit "%temp_file%"
) else if "%choice%"=="6" (
yt-dlp -x --audio-format mp3 "%temp_file%"
) else (
echo Invalid choice. Please try again.
)
:: F. Pause the script so that you can see the output
pause
:: G. Delete the temporary file
:: del "%temp_file%"
:: H.Exit the script
exit /B
Я надеюсь, что каждый, кто это прочитает, протестирует это на своих системах и ОС. Очевидными преимуществами является то, что это безвирусный метод загрузки большого количества видео с Youtube без необходимости много вводить или вставлять что-либо.
Это дает вам шесть вариантов на выбор при загрузке Youtube с помощью YT-DLP.
Каждый может расширить меню по своему вкусу.
Я закрепил пакетный файл на панели задач, чтобы он всегда был доступен.
Этот пакетный файл следует еще немного настроить, начиная с шага G, должен ли он оставаться заблокированным или нет? Я не уверен, что это необходимо, потому что командный файл работает.
Я просто не хотел загружать какой-то графический интерфейс, о котором я не знал бы, есть ли в нем вирусы или нет.