Pagina 1 di 1

Scaricare file che cambia sempre nome

MessaggioInviato: mer feb 23, 2011 8:06 pm
da crazy.cat
In queste due cartelle ci sono una serie di file exe il cui nome inizia con stinger seguito da una serie di numeri.exe
http://download.nai.com/products/mcafee-avert/
http://downloadcenter.mcafee.com/products/mcafee-avert/

Qualcosa del genere stinger10101375.exe, io avrei bisogno di scaricare il file più recente usando (possibilmente) wget http://www.gnu.org/software/wget/ o altro download manager da linea di comando.
Deve funzionare da ambiente windows e dovrebbe anche salvare il file scaricato con nome diverso, diciamo stinger.exe

Grazie

Re: Scaricare file che cambia sempre nome

MessaggioInviato: mer feb 23, 2011 9:07 pm
da Andy94
L'unica che mi viene in mente è la regex per prendere tutti i nomi ed inserire in un array i numeri. Quindi prendere quello maggiore, riassociarlo alla parola stinger per ottenere il file più recente che rispetta la nomenclatura (più recente è il file più alto è il numero).

Tuttavia, non conosco Wget ma è molto improbabile che con quello si possa fare. Da riga di comando le regex non sono supportate (ne dubito fortemente) quindi ti serve qualcosa di fatto apposta...

Re: Scaricare file che cambia sempre nome

MessaggioInviato: mer feb 23, 2011 11:30 pm
da Palpas
ciao crazy, per quanto riguarda wget, ecco il comando che ti serve: wget -N -nd -r -l 1 -A exe,"stinger" http://download.nai.com/products/mcafee-avert

Tuttavia come anticipato da andy, wget non ti permette di scaricare solamente il file più recente, penso quindi che per raggiungere il tuo scopo a questo comando dovrai affiancare uno script che elabori i numerini contenenti nel nome del file... [boh]

Re: Scaricare file che cambia sempre nome

MessaggioInviato: mer feb 23, 2011 11:51 pm
da Al3x
anni fa avevo uno script (a trovarlo) che in automatico scaricava dal sito della symantec le definizioni più aggiornate per la versione corporate.
In questa pagina ne parlano anche se mi pare che la versione descritta non corrisponde a quella che avevo io
http://www.symantec.com/business/suppor ... cale=en_US

Se riuscissi a ritrovarlo basterebbe studiarne il codice per comprenderne il funzionamento

Re: Scaricare file che cambia sempre nome

MessaggioInviato: gio feb 24, 2011 12:05 am
da Al3x
Trovato qui!
Spero serva a qualcosa

-----XDBdown.cmd----- (You can download a copy of this cmd file from the Symantec link in the above instructions)-----
@set COPY_XDB_TO="c:\Program Files\Symantec AntiVirus\"
@set RAPIDRELEASE=0
@set XDBTEMP=%temp%

@rem ==============================================================================================
@rem Set RAPIDRELEASE=1 to download repidrelease definitions, RAPIDRELEASE=0 for fully QA'd definitions (standard).
@rem Change COPY_XDB_TO= to point to the SAV CE server directory (or where you want the XDB file copied)
@rem you can also run the script directly from the SAV folder and it will copy the definitions there.
@rem XDBTEMP is the temp folder the script will use while downloading definitions, set to %temp% to use system default
@rem ==============================================================================================
@rem Script for downloading virus definition updates for
@rem Symantec Antivirus Corporate Edition version 8.x and 9.x
@rem This unsupported utility is provided for your convenience only.
@rem Symantec Technical Support cannot provide support for the creation,
@rem use, or troubleshooting of Windows scripts.

@rem ==============================================================================================
@echo off


rem ========= check that OS is win2k or better ============
if not "%OS%" == "Windows_NT" goto BADOS
if "%APPDATA%" == "" goto BADOS

rem ========= make sure to be in script directory ============
if exist rtvscan.exe set COPY_XDB_TO=%CD%
for %%i in (%0) do @%%~di
for %%i in (%0) do @cd %%~pi
if exist rtvscan.exe set COPY_XDB_TO=%CD%

rem =========== get name/size of last file from "xdbdown.lastfile" ============
if not exist xdbdown.lastfile goto NOLAST
for /f "tokens=1" %%f in (xdbdown.lastfile) do set lastfile=%%f
for /f "tokens=2" %%f in (xdbdown.lastfile) do set lastsize=%%f
:NOLAST

rem ========= jump to temp dir ============
if not exist "%XDBTEMP%\xdbtmp" md "%XDBTEMP%\xdbtmp"
if exist "%XDBTEMP%\xdbtmp\*.xdb" del "%XDBTEMP%\xdbtmp\*.xdb"
pushd "%XDBTEMP%\xdbtmp"

rem =========== make ftp script for checking xdb directory on ftp ===========
echo open ftp.symantec.com> check.txt
echo anonymous>> check.txt
echo email@address.com>> check.txt
set xdbfolder=xdb
if "%RAPIDRELEASE%" == "1" set xdbfolder=rapidrelease
echo cd AVDEFS/norton_antivirus/%xdbfolder%>> check.txt
echo dir *.xdb chk.lst>> check.txt
echo bye>> check.txt

rem =========== get filename and size from ftp ============
if exist chk.lst del chk.lst
ftp -s:check.txt
if not exist chk.lst goto ERROR
for /f "tokens=9" %%f in (chk.lst) do set xdbfile=%%f
for /f "tokens=5" %%f in (chk.lst) do set xdbsize=%%f
if "%xdbfile%" == "" goto ERROR
if "%xdbsize%" == "" goto ERROR

rem =========== compare ftp name/size to local ============
if not "%xdbfile%" == "%lastfile%" goto DOWNLOAD
if not "%xdbsize%" == "%lastsize%" goto DOWNLOAD
popd
echo.
echo Already downloaded latest %xdbfolder% file: %xdbfile% - size %xdbsize%
echo %date% %time% Already downloaded latest %xdbfolder% file: %xdbfile% - size %xdbsize% >> XDBdown.log
goto END

:DOWNLOAD
rem ========= make ftp script for downloading new xdb file =========
echo open ftp.symantec.com> down.txt
echo anonymous>> down.txt
echo email@address.com>> down.txt
echo cd AVDEFS/norton_antivirus/%xdbfolder%>> down.txt
echo bin>> down.txt
echo hash>> down.txt
echo get %xdbfile%>> down.txt
echo bye>> down.txt

rem ============= download new file =================
ftp -s:down.txt
for %%i in (%xdbfile%) do @set newsize=%%~zi
if not "%newsize%" == "%xdbsize%" goto ERROR
move %xdbfile% %COPY_XDB_TO%
if exist %xdbfile% goto ERRORMOVE
popd
echo.
echo %xdbfile% %xdbsize% > xdbdown.lastfile
echo Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize%
echo %date% %time% Downloaded new %xdbfolder% file: %xdbfile% - size %xdbsize% >> XDBdown.log
goto END


:ERROR
popd
echo.
echo ERROR: problem downloading %xdbfolder% definition file. xdbfile=%xdbfile% xdbsize=%xdbsize% newsize=%newsize% (lastfile=%lastfile% lastsize=%lastsize%).
echo %date% %time% ERROR: problem downloading %xdbfolder% definition file. xdbfile=%xdbfile% xdbsize=%xdbsize% newsize=%newsize% (lastfile=%lastfile% lastsize=%lastsize%). >> XDBdown.log
type "%XDBTEMP%\xdbtmp\chk.lst" >> XDBdown.log
echo. >> XDBdown.log
goto END

:ERRORMOVE
popd
echo.
echo ERROR: problem moving definition file to SAV folder. COPY_XDB_TO=%COPY_XDB_TO% newsize=%newsize% (lastfile=%lastfile% lastsize=%lastsize%).
echo %date% %time% ERROR: problem moving definition file to SAV folder. COPY_XDB_TO=%COPY_XDB_TO% newsize=%newsize% (lastfile=%lastfile% lastsize=%lastsize%). >> XDBdown.log
goto END

:BADOS
echo.
echo ERROR: this script needs Windows 2000 or better.
echo %date% %time% ERROR: this script needs Windows 2000 or better. >> XDBdown.log
goto END

:END
if exist "%XDBTEMP%\xdbtmp\check.txt" del "%XDBTEMP%\xdbtmp\check.txt"
if exist "%XDBTEMP%\xdbtmp\down.txt" del "%XDBTEMP%\xdbtmp\down.txt"
if exist "%XDBTEMP%\xdbtmp\chk.lst" del "%XDBTEMP%\xdbtmp\chk.lst"
rd "%XDBTEMP%\xdbtmp"
set COPY_XDB_TO=
set RAPIDRELEASE=
set lastsize=
set lastfile=
set newsize=
set xdbsize=
set xdbfile=
set xdbfolder=
set xdbtemp=
-----End XDBdown.cmd-----

Re: Scaricare file che cambia sempre nome

MessaggioInviato: gio feb 24, 2011 5:10 am
da crazy.cat
Palpas ha scritto:ecco il comando che ti serve: wget -N -nd -r -l 1 -A exe,"stinger" http://download.nai.com/products/mcafee-avert

Non scarica solo gli exe, ma anche la struttura delle varie cartelle presenti nel http sotto forma di un file html e qualche altro accessorio.
Gli exe li scarica anche bene, solo che arrivato al numero 18 mi soon stufato e ho smesso.
Ma non potrebbero lasciarci solo l'ultimo file??????

Adesso guardo lo script di al3x sperando che il comando ftp mi lasci anche scaricare da un sito http....

Ho paura che chi vuole stinger sul megalabcd dovrà aggiornarsi a manina ogni volta gli script.