Войти

Показать полную графическую версию : bat - Обновление ffmpeg


Sisin
01-02-2017, 11:23
Надоело постоянно заходить на сайт и скачивать обновление ffmpeg, поэтому написал батник:
echo off
FFMPEG\curl https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-latest-win64-static.7z -o "FFMPEG\ffmpeg-latest-win64-static.7z"
FFMPEG\7z e FFMPEG\ffmpeg-latest-win64-static.7z ffmpeg-latest-win64-static\bin\ffmpeg.exe -r
timeout /T 5
move /Y "FFMPEG\ffmpeg.exe" ""
erase /Q FFMPEG\ffmpeg-latest-win64-static.7z
exit


Но есть два вопроса:
1 - После распаковки архива 7z, файл ffmpeg.exe занят и его перемещение невозможно без паузы. Как сделать это грамотнее, не используя timeout???
2 - Строка move /Y "FFMPEG\ffmpeg.exe" "" все равно требует подтверждения, несмотря на ключ /Y. Как убрать подтверждение???

alpap
02-02-2017, 02:36
1.
чем не нравится timeout?
сделайте через

>nul ping -n 6 127.0.0.1

2.
move /Y "FFMPEG\ffmpeg.exe" "", часть "" интересует меня, куда же перемещается файл? Никакого подтверждения никто не спросит при наличии файла и даже такой записи как у вас, но напишет что перемещено, если именно это не хочется лицезреть, надо написать так:

>nul move /Y "FFMPEG\ffmpeg.exe" "papka"

Sisin
02-02-2017, 10:31
чем не нравится timeout?
сделайте через »

Меня интересует как сделать без паузы.

move /Y "FFMPEG\ffmpeg.exe" "", часть "" интересует меня, куда же перемещается файл? »
Файл перемещается в ту же папку, откуда запускается bat файл, т.е. на уровень назад, где лежит папка FFMPEG.

alpap
02-02-2017, 12:39
т.е. на уровень назад »
в таком случае парные кавычки в конце и не нужны, но вот почему у вас запрашивает подтверждение? Можете скриншот оного действа сыда выложить?
Без паузы где-то так. Проверяем "жив" ли процесс при неудаче поехали, но энергоресурсам это затратнее и кода будет больше, если с паузой работает без сбоев, то наоборот это удачнее.

Sisin
02-02-2017, 13:12
Короче, я просто добавлю в начало: erase /Q ffmpeg.exe, тогда ничего не надо.

Iska
02-02-2017, 23:56
1 - После распаковки архива 7z, файл ffmpeg.exe занят и его перемещение невозможно без паузы. Как сделать это грамотнее, не используя timeout??? »
чем не нравится timeout? »
Почему невозможно? Зачем там вообще таймаут?

Sisin
03-02-2017, 00:19
Почему невозможно? Зачем там вообще таймаут? »

Если не ставить таймаут пишется, что файл занят другой программой.

Iska
03-02-2017, 00:32
Если не ставить таймаут пишется, что файл занят другой программой. »
И какой? Какой-либо антивирус, небось?!

Sisin
03-02-2017, 00:58
И какой? Какой-либо антивирус, небось?! »
Точно, Касперский.

Iska
03-02-2017, 12:13
Sisin, тут сложно что-то посоветовать. Разве что тупо повторять попытки:

:Repeat
timeout.exe /t 5
move /y "FFMPEG\ffmpeg.exe" ".\" || goto :Repeat




© OSzone.net 2001-2012