Batch WGET Download - Überspringen bzw. Auslassen von Dateien

Mirolux

Cadet 1st Year
Registriert
Juni 2015
Beiträge
11
Hallo Freunde,

ich möchte gerne über ein Script die aktuelle Version von MusicBee herunterladen und installieren.
Leider werden mehrere Versionen herunter geladen und auch installiert.
Zur Zeit werden die Versionen 2.2 bis 2.5 geladen und nacheinander installiert.

Wenn jemand einen Tipp hätte, wie ich evtl. nur die aktuellste downloaden oder nur die aktuellste Version installieren kann wäre ich sehr dankbar.


Code:
@ECHO OFF
REM @charset "OEM-852"

SET SW_INST=MusicBee
ECHO Download and install %SW_INST%
	wget.exe -P"%TEMP%" -rcEHnd -l1 -t3 --dot-style=mega -A "MusicBeeSetup*.zip" http://musicbee.niblseed.com/
	IF %ERRORLEVEL% GEQ 1 (ECHO -%DATE%-%TIME%-: Der Download von %SW_INST% ist nicht möglich gewesen.>>"%SystemDrive%\SoftwareSetup.log") ELSE (FOR /F "usebackq delims=" %%B in (`dir /s /b /a "%TEMP%\MusicBeeSetup*.zip"`) do (
	"%SYSTEMROOT%\system32\7za.exe" e -o"%TEMP%" "%%B"
	"%%~dpnB.exe" /S
	))
pause


Vielen Dank Miro

EDIT:
Habe gerade eine Lösung gefunden die mir zumindest die Installation aller Versionen erspart und nur die Aktuellste installiert.
Wäre jedoch schön, wenn man den unnötigen Download auch weg lassen könnte.

Code:
	...        
	...
	"%SYSTEMROOT%\system32\7za.exe" e -o"%TEMP%" "%%B"
	SET CVERS=%%~dpnB.exe
	))
"%CVERS%" /S
pause
 
Zuletzt bearbeitet:
Letztendlich kannst Du den Quell"code" der Seite herunterladen und dann die Zeile mit dem jüngsten Datum über eine Suche finden.

Ein richtiges Kommandozeilentool ist CURL.

Beispiel:

curl http://musicbee.niblseed.com/
ergibt
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>
<tr><td valign="top"><img src="/icons/compressed.gif" alt="[ ]"></td><td><a href="MusicBeeSetup_2_2.zip">MusicBeeSetup_2_2.zip</a></td><td align="right">09-Feb-2015 22:00 </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/compressed.gif" alt="[ ]"></td><td><a href="MusicBeeSetup_2_3.zip">MusicBeeSetup_2_3.zip</a></td><td align="right">09-Feb-2015 22:00 </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/compressed.gif" alt="[ ]"></td><td><a href="MusicBeeSetup_2_4.zip">MusicBeeSetup_2_4.zip</a></td><td align="right">09-Feb-2015 22:00 </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/compressed.gif" alt="[ ]"></td><td><a href="MusicBeeSetup_2_5.zip">MusicBeeSetup_2_5.zip</a></td><td align="right">31-Aug-2015 07:22 </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="V2_4/">V2_4/</a></td><td align="right">09-Feb-2015 22:00 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="V2_5/">V2_5/</a></td><td align="right">07-Sep-2015 18:45 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="Weekly/">Weekly/</a></td><td align="right">31-Aug-2015 07:16 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><th colspan="5"><hr></th></tr>
</table>
<address>Apache/2.2.22 (Debian) Server at musicbee.niblseed.com Port 80</address>
</body></html>
 
Gerade ein interessantes Tool gefunden: https://github.com/EricChiang/pup (Download)
Einfach die pup.exe in den gleichen Ordner wie deine Batch schmeissen und per CSS-Selector die aktuelle Datei ermitteln:

Code:
curl -s http://getmusicbee.com/download.html | pup ".updates a:contains(\"Direct\") attr{href}"
wget -qO- http://getmusicbee.com/download.html | pup ".updates a:contains(\"Direct\") attr{href}"
 
Zuletzt bearbeitet: (wget Variante hinzugefuegt)
Vielen Dank euch beiden.
Ich hab mich jetzt zwar für die Wget Variante entschieden, werde mir CURL aber bei Gelegenheit auch mal ansehen, wenn ich ne XP Variante finde.

Was ich da zusammen gebastelt habe entzieht sich mir zwar noch, aber es läuft.

Code:
SET SW_INST=MusicBee
ECHO Download and install %SW_INST%
wget -O%TEMP%\Bee.html http://getmusicbee.com/download.html 
FOR /F "usebackq delims=" %%B in (`pup -f "%TEMP%\Bee.html" ".updates a:contains(\"Direct\") attr{href}"`) do wget -nc -P"%TEMP%" %%B
	IF %ERRORLEVEL% GEQ 1 (ECHO -%DATE%-%TIME%-: Der Download von %SW_INST% ist nicht möglich gewesen.>>"%SystemDrive%\SoftwareSetup.log") ELSE (FOR /F "usebackq delims=" %%B in (`dir /s /b /a "%TEMP%\MusicBeeSetup*.zip"`) do (
	"%SYSTEMROOT%\system32\7za.exe" e -y -o"%TEMP%" "%%B"
	SET CVERS=%%~dpnB.exe
	))
"%CVERS%" /S
 

Ähnliche Themen

Zurück
Oben