70 lines
1.5 KiB
Batchfile
70 lines
1.5 KiB
Batchfile
@echo off
|
|
|
|
rem ===================
|
|
rem COMMANDLINE CHECKS
|
|
rem ===================
|
|
|
|
IF %1.==. GOTO USAGE
|
|
rem removing extension ...
|
|
set LISTFILE=%~n1
|
|
rem adding extension again ...
|
|
set LISTFILE=%LISTFILE%.csv
|
|
|
|
IF NOT EXIST %LISTFILE% (
|
|
echo ERROR: %LISTFILE% not found!
|
|
exit /b
|
|
)
|
|
|
|
echo disabling Windows defender for PATH [ %USERPROFILE% ] ...
|
|
powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath %USERPROFILE%
|
|
echo.
|
|
|
|
echo using list [ %LISTFILE% ] ...
|
|
|
|
rem ###################################
|
|
rem MAIN loop ( download software ) ...
|
|
rem ###################################
|
|
|
|
FOR /F "tokens=1,2 delims=, " %%E in (%LISTFILE%) do (
|
|
|
|
rem file is already present ?
|
|
IF %%~zF EQU 0 (
|
|
echo.
|
|
echo INFO: [ %%F ] does not exist or is 0 bytes, starting download ...
|
|
del /F %%F 2>nul
|
|
)
|
|
|
|
IF NOT EXIST %%F (
|
|
|
|
rem get it with curl ...
|
|
echo.
|
|
echo getting: %%F [ %%E ]
|
|
curl --connect-timeout 5 --fail-early -L %%E --output %%F
|
|
|
|
rem success ?
|
|
if NOT EXIST %%F (
|
|
echo ERROR: couldn't get %%F!
|
|
) ELSE (
|
|
rem check size (it SHOULD NOT be 0!)
|
|
FORFILES /M %%F /C "cmd /C if @fsize EQU 0 echo ERROR: file @relpath is zero size!"
|
|
)
|
|
|
|
) ELSE (
|
|
FORFILES /M %%F /C "cmd /C if @fsize NEQ 0 echo OK: file @relpath is [ @fsize ] bytes"
|
|
)
|
|
|
|
)
|
|
|
|
rem =====
|
|
rem END
|
|
rem =====
|
|
GOTO END
|
|
|
|
:USAGE
|
|
echo "usage: %0 <LISTFILE>"
|
|
echo LISTFILE = basic, browser or optional
|
|
echo.
|
|
|
|
:END
|
|
|