|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Крашится Bat после Else. Пытаюсь сделать переключатель параметра. |
|
CMD/BAT - [решено] Крашится Bat после Else. Пытаюсь сделать переключатель параметра.
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать
Если сугубо банально, то оно работает в упрощенном виде. И работает идеально.
set x=900 set w= :1 cls echo bla-bla-bla u select to: %x% echo %w% echo ============ choice /c 12 /n if %ErrorLevel%==1 (if %x%==0 (set x=1 & set w=666 & goto 1) else set x=0 & set w=555 & goto 1) if %ErrorLevel%==2 (if %x%==2 (set x=3 & goto 1) else set x=2 & goto 1) goto 1 Проблемная строка: Смысл сего - переключение 2х параметров одной(двух) переменной в меню кликом 1й кнопы. |
|
Отправлено: 14:06, 18-01-2019 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата dbillika:
Цитата dbillika:
if "это текст"=="это текст" (echo Yes) if "2 3 4"=="2 3 4" (echo И это текст) if 2 leq 5 (echo А это числа) if 555==555 (echo И это числа) Цитата dbillika:
но вот без пробелов... это в каком месте? Например, если надо уничтожить все пробелы: Цитата dbillika:
|
||||
------- Отправлено: 20:09, 18-01-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
------- Отправлено: 20:17, 18-01-2019 | #12 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата dbillika:
@echo off set "x1=мама мыла раму" set x2="мама мыла раму" set x3=мама мыла раму set "x4="мама мыла раму"" ::--------------------------------- echo set "x1=мама мыла раму" echo set x2="мама мыла раму" echo set x3=мама мыла раму echo set "x4="мама мыла раму"" echo. call :#1 "%x1%" "%x2%" "%x3%" "%x4%" call :#2 "%x1%" "%x2%" "%x3%" "%x4%" call :#3 "%x1%" "%x2%" "%x3%" "%x4%" call :#4 "%x1%" "%x2%" "%x3%" "%x4%" echo ------------------------------------------- pause>nul& exit :#1 echo ------------------------------------------- echo if "%x1%"=="%~1" echo if "%x2%"=="%~1" echo if "%x3%"=="%~1" echo if "%x4%"=="%~1" exit /b :#2 echo ------------------------------------------- echo if "%x1%"=="%1" echo if "%x2%"=="%1" echo if "%x3%"=="%1" echo if "%x4%"=="%1" exit /b :#3 echo ------------------------------------------- echo if %x1%==%~1 echo if %x2%==%~1 echo if %x3%==%~1 echo if %x4%==%~1 exit /b :#4 echo ------------------------------------------- echo if %x1%==%1 echo if %x2%==%1 echo if %x3%==%1 echo if %x4%==%1 exit /b |
|
Отправлено: 20:24, 18-01-2019 | #13 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Хоспади... Триклятые ковычки!
Спасибо megaloman, это именно оно. Какими словами это нужно было сказать гуглу, чтобы он понял меня - не представляю. Ну вообщем, если интересно, я по крупицам собираю интерфейс управления ffmpeg и youtube-dl. Из знаний - дедукция и поверхностный Pascal школьных лет.. За пол года удалось настрочить это чудо(внутри много набросков и сохраненных из разных источников примеров, чтобы слепить всё воедино): @chcp 1251 & cls & @echo off ::установка переменных cd %userprofile%/desktop/ffmpeg set цикл==for %%a in ("in\*.*") do ( set crf=23 set va= set vat=видео+аудио set scale=720 set format=mkv set reverse= :Гменю echo ================================================================= echo [1]-MKV с рекомендуемыми настройками для Youtube (x264) echo [2]-Ручные настройки кодирования echo [3]-WEBM echo [4]-AAC echo [5]-GIF echo [6]-mp4 echo ----------------------------------------------------------------- echo ----------------------------------------------------------------- echo [7]-Скачать видео по ссылке (Можно использовать ссылку на плейлист Youtube. Скачаются все видео из плейлиста) echo [8]-Скачать видео списоком (Взависимости от сайта срок жизни ссылок варьируется от 1 часа до 1 дня.) echo [9]-Переключить режим скачивания (видео+аудио/аудио). Сейчас активен режим: %vat% echo [0]-Выход echo ================================================================= choice /c 1234567890 /m "Нажми на клавиатуре клавишу, согласно пункту меню:" if %ErrorLevel%==1 (goto forYoutube) if %ErrorLevel%==2 (goto ручныенастройки) if %ErrorLevel%==3 (goto WEBM) if %ErrorLevel%==4 (goto AAC) if %ErrorLevel%==5 (goto GIF) if %ErrorLevel%==6 (goto mp4) if %ErrorLevel%==7 (goto ) if %ErrorLevel%==8 (goto ) if %ErrorLevel%==9 ( if "%vat%"=="только аудио" ( set "vat=обычный" set "va=--extract-audio --audio-format mp3 --audio-quality" cls goto Гменю ) else ( set "vat=только аудио" set "va=null" cls goto Гменю )) if %ErrorLevel%==10 (exit) if %ErrorLevel%==11 (goto end) :ручныенастройки cls echo Качествоодирования. (17-35)где 17-лучшее. echo ================================================================= echo [1]-Текущее качество:[%crf%] echo [2]-Текущяя ширина:[%scale%] echo [3]-Текущий формат:[%format%] echo [4]-Начать кодирование. echo [0]-Отмена echo ================================================================= choice /c 12340 if /I %errorlevel%==1 (set /p crf="Введи качество от 17 до 35.(чем больше, тем качественнее):" & goto ручныенастройки) if /I %errorlevel%==2 (set /p scale="Введи ширину в пикселях (360, 720, 1080):" & goto ручныенастройки) if /I %errorlevel%==3 (set /p format="введите формат mkv, mp4, webm...") if /I %errorlevel%==4 (%цикл% ffmpeg -y -i "%%a" -vf yadif,scale=%scale%:-2 -c:v libx264 -preset slow -crf 20 -c:a aac -b:a 256k "out\%%~nacustom.mkv" ) & goto end) if /I %errorlevel%==5 (cls & goto Гменю) goto end :кодировка cls :: Меню "Кодирование" echo ############################################################### echo # 1. Lля Youtube. echo # 2. Добавить логотип (закинуть в корневую папку файл с именем logo.png) echo # 3. ....... echo # 4. ....... echo ############################################################### set /p x="ввидите цифрцу:_" if /I %x%==1 (goto forYoutube) if /I %x%==2 (goto логотип) :forYoutube %цикл%ffmpeg -y -threads %NUMBER_OF_PROCESSORS% -i "%%a" -vf yadif -c:v libx264 -preset slow -profile:v high -crf 18 -coder 1 -pix_fmt yuv420p -movflags +faststart -g 30 -bf 2 -c:a aac -b:a 384k -profile:a aac_low "out/%%~na.mkv" -hide_banner) goto end :логотип cls if /I %x%==2 %цикл% ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-20:main_h-overlay_h-20" result.mp4 )) goto end :GIF %цикл% ffmpeg -y -i "%%a" -vf scale=320:-1 -r 10 "out\%%~na.gif" ) goto end rem ###### MKV if /I %x%==mkv ( for %%a in ("in\*.*") do ( ffmpeg -i "%%a" -c:v libx264 -preset slow -crf 22 -x264-params keyint=123:min-keyint=20 -c:a copy "out\%%~na.%x%" ) ) goto end :webm %цикл% ffmpeg -y -i "%%a" -c:v libvpx-vp9 -quality good -b:v 2M "out\%%~na.webm" ) goto end :mp4 %цикл% ffmpeg -y -i "%%a" -vf yadif,scale=%scale%:-2 -c:v libx264 -preset slow -crf 20 -c:a aac -b:a 256k "out\%%~natest.mkv" ) goto end rem ###### WEBP if /I %x%==webp ( for %%a in ("in\*.*") do ( ffmpeg -y -i "%%a" -vcodec libwebp -lossless 1 -q:60 -preset default -loop 1 -an -vsync 0 "out\%%~na8 веб П.%x%" ) ) goto end :mp3 if /I %x%==mp3 ( for %%a in ("in\*.*") do ( ffmpeg -y -i "%%a" "out\%%~na.%x%" ) ) goto end :: ######## Начало скаччивания :Поссылке set /p url="Вставь скопированную ссыль (ctrl+v): " ffmpeg -y -i "%url%" -c: v libx265 -c: copy -flags + global_header "out\%time%-%date%.mp4" rem старая настройка ffmpeg -y -i "%url%" -vn -ar 44100 -ac 2 -ab 192k -f mp3 "out\%time%-%date%.mp4" if errorlevel 1 youtube-dl -o "out/%%(title)s.%%(ext)s" -f best "%url%" rem ffplay "out/%(title)s.%(ext)s" rem cls goto end rem ####### Конец скачивания rem ####### Cкачать по ссылке отрывок set /p url="Вставь скопированную ссыль (ctrl+v):______" set /p ss="Введи начало записи вида 1:10:20 (1час:10минут:20секунд):_______" set /p t="Введи продолжительность записи вида 0:00:20 (Скачается 20):_______" ffmpeg -ss %ss% -i %url% -t %t% -c:v copy -bsf:a aac_adtstoasc "out\%date%-%time%.mp4" goto end rem ####### конец скачивания :4 youtube-dl -o "out/%%(title)s-%%(id)s-%%(upload_date)s-%date%-%time%.%%(ext)s" -c --batch-file z-----list-youtube.txt goto end rem ####### Конец скачивания :: Завершение программы :end if %errorlevel%==1 (pause & cls & goto Гменю) echo & start out & cls echo ***************************** echo *-----РАБОТА ЗАВЕРШЕНА.-----* echo *ОТКРЫТА ПАПКА С РЕЗУЛЬТАТОМ* echo *-----РАБОТА ЗАВЕРШЕНА.-----* echo ***************************** goto Гменю ::заготовка. %цикл% ffmpeg %in% -vf %vf1%,%vf2%,%vf3% %out%) :: двухпроходное кодирование v9 EXAPLE ffmpeg -i <source> -c:v libvpx-vp9 -pass 1 -b:v 1000K -threads 1 -speed 4 \ -tile-columns 0 -frame-parallel 0 \ -g 9999 -aq-mode 0 -an -f webm /dev/null ffmpeg -i <source> -c:v libvpx-vp9 -pass 2 -b:v 1000K -threads 1 -speed 0 \ -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 \ -g 9999 -aq-mode 0 -c:a libopus -b:a 64k -f webm out.webm |
Последний раз редактировалось dbillika, 18-01-2019 в 20:36. Отправлено: 20:27, 18-01-2019 | #14 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Загрузка - [решено] Windows 10 крашится после выхода из гибридного сна, холодный старт - нормальный | Wusa | Microsoft Windows 10 | 17 | 07-08-2016 12:41 | |
После изменения любого параметра в Asus GPU tweak комп уходит в перезагрузку | drkrol | Непонятные проблемы с Железом | 2 | 20-07-2016 22:37 | |
CMD/BAT - [решено] Путь к текущей папке CMD после передачи параметра | Dragokas | Скриптовые языки администрирования Windows | 1 | 16-01-2012 18:44 | |
Загрузка - [решено] После изменения в BCD параметра nx (noexecute) WINDOWS не загружается | Mike_Onkyo | Microsoft Windows 7 | 5 | 29-12-2011 10:50 | |
Из образа ERDC.iso пытаюсь сделать загрузочную флешку | Flooper | Автоматическая установка Windows 2000/XP/2003 | 2 | 01-04-2011 12:19 |
|