Скрипты и батники для получения из интернета файлов

wadimus

Активный пользователь
Команда форума
W10Privacy

W10Privacy - программа для изменения настроек системы Windows 10 и минимизации сбора данных пользователя. Предлагает серьезный набор защиты данных и настроек конфиденциальности
в очередной раз обновилась на версию 5.0.0.0

скачиваем ..

проблема какая .. скачиваемый файл - архив W10Privacy.zip, в нём ехе-файл W10Privacy.exe и в нём нужные нам файлы (ехе-файл сделан на NSIS-е):
Код:
W10Privacy.exe
W10Privacy.VisualElementsManifest.xml
W10PrivacyIcon.ico
остальные файлы не важны

1. качаем: скачиваем архив, размер архива заносим во временный файл,
2. далее, его распаковываем в ехе-файл, а архив удаляем
3. далее, ехе-файл распаковываем в другую папку, а сам ехе-файл удаляем

допустим, захотелось скачать еще раз W10Privacy (проверить на новую версию):
проверяем архив (определяем размер его), находящийся в тернете без скачивания его
у нас есть вычисленный размер во временном файле - размеры совпадают - ничего скачивать не надо!
числа разные - качаем, заносим размер архива ..

решаем 1 и 2-ю задачу:
Код:
@echo off
mode con cols=85 lines=5
SetLocal EnableExtensions EnableDelayedExpansion
CD /d "%~dp0"

echo ... W10Privacy

set "h1=https://www.winprivacy.de/deutsch-start/download/"
set "d1=[.]zip"
set "w1=W10Privacy.zip"
set "w2=W10Privacy.exe"

echo.?> "%~dp0alarm.txt"
("%~dp0..\Scripts\http2cli.exe" "%h1%" 2| findstr /R /C:"%d1%") >"%~dp0down.txt"
for %%a in ("%~dp0down.txt") do set size=%%~za
if %size%==0 goto 1
<"%~dp0down.txt" (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do set "s%%a=%%b")
FOR /F "tokens=4 delims=+++" %%a in ("%s1%") do set "g1=https://www.winprivacy.de%%a"
if exist "%~dp0size.txt" ( Set /p fsize=<"%~dp0size.txt" ) else ( set "fsize=0" )
("%~dp0..\Scripts\netsize.exe" "%g1%") >"%~dp0down.txt"
Set /p nsize=<"%~dp0down.txt"
if %fsize% NEQ %nsize% (
"%~dp0..\Scripts\axel.exe" "%g1%" -k -a -n 8 -o "%~dp0%w1%.~"
for %%a in ("%~dp0%w1%.~") do set size=%%~za
if !size!==0 goto 1
del "%~dp0%w1%" /q
ren "%~dp0%w1%.~" "%w1%"
echo !size!> "%~dp0size.txt"
echo %date%> "%~dp0date.txt"
del "%~dp0%w2%" /q
"%~dp0..\Scripts\7z.exe" e "%~dp0%w1%" -y -o"%~dp0"
ren "%~dp0*.exe" "%w2%"
)
("%~dp0..\Scripts\filever.exe" /A /D "%~dp0%w2%") >"%~dp0down.txt"
FOR /F "usebackq tokens=4" %%a in ("%~dp0down.txt") do set f=%%a
echo %f%> "%~dp0version.txt"
del "%~dp0alarm.txt" /q
del "%~dp0%w1%" /q
:1
del "%~dp0down.txt" /q
del "%~dp0*.~" /q

после выполнения скрипта получаем файлы:
W10Privacy.exe
version.txt (в нем в первой строке версия: 5.0.0.0)
size.txt (в нем в первой строке размер архива: 2536842)

осталась 3-я задача: распаковать ехе-файл W10Privacy.exe в какую-либо папку архиватором 7z.exe
и удалить мусор

ну, эта задача простая .. пропускаем
 
Последнее редактирование:

Последние темы

Верх