Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   bat - Обновление ffmpeg (http://forum.oszone.net/showthread.php?t=323363)

Sisin 01-02-2017 11:23 2707955

bat - Обновление ffmpeg
 
Надоело постоянно заходить на сайт и скачивать обновление 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 2708195

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 2708253

Цитата:

Цитата alpap
чем не нравится timeout?
сделайте через »

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

Цитата:

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

Файл перемещается в ту же папку, откуда запускается bat файл, т.е. на уровень назад, где лежит папка FFMPEG.

alpap 02-02-2017 12:39 2708287

Цитата:

Цитата Sisin
т.е. на уровень назад »

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

Sisin 02-02-2017 13:12 2708293

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

Iska 02-02-2017 23:56 2708500

Цитата:

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

Цитата:

Цитата alpap
чем не нравится timeout? »

Почему невозможно? Зачем там вообще таймаут?

Sisin 03-02-2017 00:19 2708503

Цитата:

Цитата Iska
Почему невозможно? Зачем там вообще таймаут? »

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

Iska 03-02-2017 00:32 2708506

Цитата:

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

И какой? Какой-либо антивирус, небось?!

Sisin 03-02-2017 00:58 2708510

Цитата:

Цитата Iska
И какой? Какой-либо антивирус, небось?! »

Точно, Касперский.

Iska 03-02-2017 12:13 2708606

Sisin, тут сложно что-то посоветовать. Разве что тупо повторять попытки:
Код:


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



Время: 13:23.

Время: 13:23.
© OSzone.net 2001-