
12217
08.12.2005, aktualisiert am 09.12.2005
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"
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"
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 21244
Url: https://administrator.de/forum/probleme-mit-hochkammas-in-batch-und-wget-21244.html
Ausgedruckt am: 22.04.2025 um 15:04 Uhr
2 Kommentare
Neuester Kommentar
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=<urllist.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
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=<urllist.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