12217
Goto Top

Probleme mit Hochkammas in Batch und wget

Als fauler User habe ich mir eine Batch geschrieben, die für versch. Virenscanner Updates herunterlädt. Dies klappt auch wunderbar, nur mit McAfee Stinger habe ich Probleme, da in der Datei mit der URL, die URL in Hochkommas steht.

In meiner Batch benutze ich das Tool HTMLPath, mit dem ich die URL zu Stinger auslese, da ja öfter der Dateiname geändert wird. Soweit läuft auch alles gut, nur mit wget kann ich die url nicht herunterladen, da in urllist.txt die URL in Hochkommas steht. Das Problem kriege ich gelöst, wenn ich die Hochkommas händisch entferne (ist aber nicht gewünscht).

Wer hat einen Ratschlag für mich, wie ich die Hochkommas aus der URLLIST.TXT entfernen kann?

Für die, die es interessiert:

Ein kleiner Auszug aus meiner Batch, bei der der Fehler auftaucht:

set file=index.html
set url=http://vil.nai.com/vil/stinger/

echo Downloading %file% ...
%workdir%wget.exe %wget_opt% %url%

%workdir%htmlpath.exe -i %file% -t a -n href | find ".exe" > urllist.txt

echo Downloading Stinger ...
%workdir%wget.exe %wget_opt% --input-file=urllist.txt


Die erzeugte urllist.txt:
"http://download.nai.com/products/mcafee-avert/stng259.exe"

Content-Key: 21244

Url: https://administrator.de/contentid/21244

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: Biber
Biber 09.12.2005 um 09:55:17 Uhr
Goto Top
Moin, Doc,

Kern aller möglichen Lösungen ist ja nun die Entfernung der umschließenden Anführungszeichen. Das ginge unter der CLI-Umgebung auf zwei Arten.

a) Interne Funktion zur Ersetzung von umschließenden Anführungszeichen.
b) Ersetzen der (Anführungs-)Zeichen durch Leerstrings

Ich kasper mal beide Lösungswege vor von dem Zeitpunkt an, wo Du die Urllist.txt geschrieben hast.

%workdir%htmlpath.exe -i %file% -t a -n href | find ".exe" > urllist.txt
a & b) set /P theUrl=&lturllist.txt

[Zustand wäre jetzt:] (Abfrage vom Prompt: set theUrl)
theurl="http://download.nai.com/products/mcafee-avert/stng259.exe"

a)
echo set theurl=%~1>temp.bat
call temp %theurl%

[Zustand/Ausgeführt wird jetzt:]
[set theurl=http://download.nai.com/products/mcafee-avert/stng259.exe]
del temp.bat

-oder-
b)
set theurl=%theurl:"=%
[Zustand jetzt:]
[set theurl=http://download.nai.com/products/mcafee-avert/stng259.exe]


a & b)
echo %theUrl% >urllist.txt

So wäre meine Skizze.
HTH Biber
Mitglied: 12217
12217 09.12.2005 um 14:35:00 Uhr
Goto Top
Danke für deine Antwort.
Gestern abend habe ich an meinem Skript weitergebastelt und eine Lösung mit einer for schleife gebastelt. Es führen ja immer mehrere Wege zum Ziel. Deine Ansätze sehen aber ehrlich gesagt besser aus, als mein Lösungsweg.

PS: Deine Batch Tutorials sind SUPER. Habe alle 3 mit Genuss gelesen.

einen b(in)ären Gruß
DrOktagon