[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
Обновлялка Snappy Driver Installer (удобно для использования в "Назначенных заданиях" при обновлении по расписанию).
Требования: Windows 7-10 x86/x64
Использование:
  • создать в папке с утилитой SDI подпапку (например, sdiupd) и поместить туда батник (sdiupd.cmd);
  • при запуске проверяет наличие самой утилиты SDI_Rххх.exe и своих доп. инструментов (если их нет - скачает);
  • сравнивает драйвера в папке drivers и в инете, скачивает отличающиеся и недостающие (если драйверов нет вообще, то скачивает все!);
  • выполняет сравнение текущей версии SDI и в инете, скачивает новую (старую удаляет);
  • выполняет проверку скачанного и полную переиндексацию;
  • по завершении дописывает в log.txt, что именно было скачано.
*Примечания:
  • если при запуске не найдена нужная структура папок, то будет предложено либо перейти на страницу проекта, либо создать «Схему развёртывания» (см. «Ключи запуска»);
  • если возле батника находится маркерный файл only, это равнозначно запуску с ключом only (см. «Ключи запуска»).

Доп. информация

Рассчитана на стандартное расположение папок drivers, indexes.
Есть ограничение на время скачивания - 3 часа. Если оно мешает, убрать руками ключ "--stop=10800"

Структура папок

\drivers\
\indexes\
\tools\
\sdiupd\
        sdiupd.cmd
SDI_R2102.exe
SDI_x64_R2102.exe

Ключи запуска

only - только обновление существующих в папке drivers паков (без докачки остальных)-scheme - создать схему развёртывания SDI-tool:
  • создаётся папка scheme. В ней:
  • папка drivers с шаблонами ("пустышками") драйвер-паков (оставить только нужные для использования с ключом only);
  • папка sdiupd с обновлялкой sdiupd.cmd и маркерным файлом only;
  • запускатель SDI-tool (zrun.cmd).
-Пример: sdiupd.cmd scheme
Сохранить CMD-файл         Просмотр кода


Последний раз редактировалось: Ander_73 (2021-08-01 10:10), всего редактировалось 6 раз(а)

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73, как всегда хорошая полезность. ay
Возможно подключить вопрос в начале скрипта скачки всех драйверах, или скачка только индексах?
Смысл в том. Если нужен определенный драйвер, можем через индекс найти его и установить по быстрому, а если нужны больше тогда и все качаем. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
сравнивает драйвера в папке drivers и в инете, скачивает отличающиеся (если драйверов нет вообще, то скачивает все!);
оставил в папке drivers (и индексы соответственно) только :
DP_LAN_Intel_20112.7z
DP_LAN_Others_20111.7z
DP_LAN_Realtek-NT_20121.7z
DP_LAN_Realtek-XP_20090.7z
но шайтан-машина начала качать всё подряд

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
korsak7, я не понял юмора. У тебя дрова от 20-го года, а сейчас на дворе 21-й. Разумеется, шайтан-арба их решила обновить.
dimo70, если тебе нужно "отвечать на вопросы в начале скрипта", зачем тебе скрипт автоматизации??? Запусти SDI и там выбирай, что тебе надо.

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
87240korsak7, я не понял юмора. У тебя дрова от 20-го года, а сейчас на дворе 21-й. Разумеется, шайтан-арба их решила обновить.
вообще-то согласно заявленному описанию шайтан-телега должна обновить ТОЛЬКО 4 файла (а не качать все недостающие) ai
DP_LAN_Intel_20112.7z
DP_LAN_Others_20111.7z
DP_LAN_Realtek-NT_20121.7z
DP_LAN_Realtek-XP_20090.7z
или тогда зачем эта фраза - если всегда скачивает все в том числе недостающие. А если мне они не нужны ?
если драйверов нет вообще, то скачивает все!
может стоит добавить файлик со списком нужных паков ?


Последний раз редактировалось: korsak7 (2021-07-15 11:30), всего редактировалось 1 раз

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
korsak7, а, понял. Сейчас качает ВСЕ отличающиеся (то есть, плюс недостающие). Тебе надо ТОЛЬКО?

[Цитировать]

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
87242ВСЕ отличающиеся (то есть, плюс недостающие).
Дак это сама SDI делает. И в чём тогда смысл этой обновлялки!?
-checkupdates Включает проверку обновлений программы и драйверпаков.
-autoupdate Автоматически запускает загрузку драйверпаков.


Последний раз редактировалось: SergeyZV (2021-07-15 12:01), всего редактировалось 1 раз

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Ander_73, хвала аллаху и моей учительнице русского языка ag
именно ТОЛЬКО.

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
SergeyZV, в моих поделках вообще мало смысла. Приведи работающий код для SDI. Только не из мануала с сайта, а который ты сам опробовал, проверил и он работает как часы.
korsak7, оки, почешу репку.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73, понял, ето только обновлялка и стоит рядом с SDI. Было бы неплохо комбинировать со скачки SDI вместе с индексами. Т.е скрипт качает SDI с индексами и если надо запускает скачивание дров. А если дров есть уже, то обновляет новых только. Типа All-in-One ab


Последний раз редактировалось: dimo70 (2021-07-15 12:20), всего редактировалось 1 раз

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
dimo70, ничего не понял.
Сейчас: если SDI нет, то он скачается; если дров нет, они скачаются; индексы - нафиг, на месте создадим.
Что не так-то?

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
переводчик с болгарского поломался

[Цитировать]

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
87246Приведи работающий код для SDI
SDI_R.exe -checkupdates -onlyupdates -autoupdate

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73, надо мне сперва все проверить и потом пишу. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
SergeyZV, удачи в обновлении с этим кодом! aa
korsak7, пробЫвай!

updater_beta.cmd

@echo off
cd /d "%~dp0"
2>nul rd /q/s tmp& md tmp
set unzip=^>tmp\tst.vbs echo With CreateObject("Shell.Application") .NameSpace(WScript.Arguments(0)).CopyHere(.NameSpace(WScript.Arguments(1)).Items) End With^& cscript.exe tmp\tst.vbs
if exist bin\aria2c.exe goto next
certutil.exe -urlcache -f -split "https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0-win-32bit-build1.zip" tmp\a.zip
md bin& %unzip% "%CD%\tmp" "%CD%\tmp\a.zip"
for /r %%i in (aria2c.ex?) do move "%%~i" bin
bin\aria2c.exe "https://getspace.cloud/cloud/s/KTWHwQN9cn8H6Kt/download?path=/SDI/&files=dht.dat" -d bin
:next
bin\aria2c.exe http://driveroff.net/SDI_Update.torrent -d tmp --follow-torrent=false
>tmp\s bin\aria2c.exe -S tmp\SDI_Update.torrent
if not exist ..\SDI_R*.exe call :renew
for %%i in (..\SDI_R*.exe) do set sdi.exe=%%~nxi
>tmp\d dir /b ..\drivers\*.7z
setlocal EnableDelayedExpansion
if /i "%1"=="only" (
for /f "tokens=1,2 delims=| " %%a in ('^<tmp\s find /i ".7z"') do ^
for /f %%i in (tmp\d) do (
set var=%%~ni
set var=!var:~0,-5!
set src=%%~nb
set src=!src:~0,-5!
if /i !var!==!src! if /i %%~ni neq %%~nb set files=!files!,%%a& >>tmp\t echo %%~nxb
)) else ^
for /f "tokens=1,2 delims=| " %%a in ('^<tmp\s find /i ".7z"') do >nul find /i "%%~nxb" tmp\d||(set files=!files!,%%a& >>tmp\t echo %%~nxb)
endlocal& set files=%files%
if not defined files (
>tmp\t echo No driver pack updates found.
goto logging
)
bin\aria2c.exe tmp\SDI_Update.torrent -d tmp --seed-time=0 --file-allocation=trunc --select-file=%files:~1% --dht-file-path=bin\dht.dat --bt-request-peer-speed-limit=1M --stop=10800
for /r %%i in (DP_*.7z) do set "pth=%%~dpi"
for /f %%a in (tmp\t) do ..\%sdi.exe% -7z t "%pth%%%a"&& (
set var=%%~na
call set var=%%var:~0,-5%%
call del /q ..\drivers\%%var%%*.7z
move "%pth%%%a" ..\drivers
)|| >>tmp\err echo ERROR: %%a
if defined var (
pushd ..\indexes
del /q/s *.bin
cd ..
%sdi.exe% -nogui -reindex -nologfile -preservecfg
popd
)
:logging
>nul find /i "%sdi.exe%" tmp\s|| call :renew
>>log.txt (
echo --- %date% ------------------------------
if defined fname echo %fname%
type tmp\t
if exist tmp\err type tmp\err
echo ---------------------------------------------
echo/
)
rd /q/s tmp
exit
:renew
for /f "tokens=2 delims=|" %%a in ('^<tmp\s findstr /irc:"SDI_R[0-9]*.exe"') do set fname=%%~na.zip
bin\aria2c.exe http://sdi-tool.org/releases/%fname% -d tmp
md tmp\new& %unzip% "%CD%\tmp\new" "%CD%\tmp\%fname%"
del /q ..\SDI_*.*
robocopy.exe /e /move "%CD%\tmp\new" ..
Обновляет только паки, которые есть на момент запуска. Запускать с ключом "only" (фантазии хватило только на это, гы).
update.cmd only

Страница 1 из 6


Показать сообщения:    

Текущее время: 21-Ноя 14:28

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы