Задать вопрос
@nallion

Как написать bat файл (нужна небольшая логика)?

Добрый день!
Нужно написать bat файл который при запуске меняет разрешение экрана, запускает консольную программу
А после закрытия программы он возвращает разрешение экрана назад

Что имеем:

"C:\Program Files (x86)\MultiRes\MultiRes.exe" /1:1280,720,32
start ffmpeg.exe -f dshow -i video="screen-capture-recorder" -vb 5000k %DATE%-%time:~0,2%.%time:~3,2%.avi
"C:\Program Files (x86)\MultiRes\MultiRes.exe" /restore

нужно чтобы последняя строчка ("C:\Program Files (x86)\MultiRes\MultiRes.exe" /restore) срабатывала только после закрытия консоли с ffmpeg-ом (второй строчкой)
как это сделать?
  • Вопрос задан
  • 1709 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Zolg
убрать из начала второй строки start
либо использовать start /wait
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
Вам проще тогда не закрывать консоль ffmpeg, а написать отдельный батник для этого.

start_ffmpeg.bat:
"C:\Program Files (x86)\MultiRes\MultiRes.exe" /1:1280,720,32
ffmpeg.exe -f dshow -i video="screen-capture-recorder" -vb 5000k %DATE%-%time:~0,2%.%time:~3,2%.avi


Close_ffmpeg.bat:
TASKKILL FFMPEG
"C:\Program Files (x86)\MultiRes\MultiRes.exe" /restore

И запускать его, когда захотите прибить ffmpeg
Ответ написан
@nallion Автор вопроса
Нашел чужое решение и адаптировал под себя

"C:\Program Files (x86)\MultiRes\MultiRes.exe" /1:1280,720,32

@ECHO OFF

TASKKILL FFMPEG

START "" C:\Users\nallion\Desktop\Record\ffmpeg.exe -f dshow -i video="screen-capture-recorder" -vb 5000k C:\Users\nallion\Desktop\Record\%DATE%-%time:~0,2%.%time:~3,2%.avi

:LOOP
tasklist | find /i "FFMPEG" >nul 2>&1
IF ERRORLEVEL 1 (
GOTO CONTINUE
) ELSE (
Timeout /T 5 /Nobreak
GOTO LOOP
)

:CONTINUE
"C:\Program Files (x86)\MultiRes\MultiRes.exe" /restore
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы