skydiverjb

BATCH: Dateinamen von einem Webspeicherort auslesen

Hallo liebe Leute,

erst einmal ein Herzliches Hallo in die Runde... face-smile

Ich lese schon seit einiger Zeit immer mal wieder im Forum und habe auch schon relativ viel abschauen können.
(Bin aber immer noch ein newbee face-wink)

Jetzt habe ich mich hier im Forum angemeldet, weil ich eine Frage (ein Problem) habe, bei dem ich auch durch Googeln / Suchen im Forum nicht weiterkomme.

Ich habe eine kleine überschaubare Batch geschrieben, mit der ich von einem Webserver entsprechende Dateien herunterladen kann.

@echo off

title Airspace laden

Set Webserver="https://www.webserver-soundso.de/pfad1/files/airspace/imported/"  

Set Pfad=%~dp0

Set Liste=%Pfad%Airspace-Liste.txt

FOR /f %%f IN (%Liste%) DO (
	Set Datei=%%f
	call :kopieren
	cls )
exit

:kopieren
	start "" /min bitsadmin.exe /transfer "Airspace laden" %Webserver%%Datei% %Pfad%%Datei%  

Die Dazugehörige Datei ist eine reine Textdatei mit Einträgen in dieser Art:

al_asp.txt
ar_asp.txt
at_asp.txt
au_asp.txt
ba_asp.txt
be_asp.txt
bg_asp.txt
bh_asp.txt
br_asp.txt
ca_asp.txt

Das ganze funktioniert auch einwandfrei.

Was ich jetzt als nächsten Schritt gerade versuche ist, die Liste abzuschaffen und einfach im Batch die Dateien auf dem Webserver auszulesen und direkt zu verwenden.
Dann spare ich mir das Aufbereiten der Tabelle (Textdatei)

Ich hoffe, es hat jemand eine Idee / Lösung...

Vielen Dank im Voraus
Sky
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 647055

Url: https://administrator.de/forum/batch-dateinamen-von-einem-webspeicherort-auslesen-647055.html

Ausgedruckt am: 30.04.2025 um 22:04 Uhr

147448
147448 01.02.2021 um 21:14:42 Uhr
Goto Top
Und ?
SkydiverJB
SkydiverJB 01.02.2021 um 21:59:58 Uhr
Goto Top
Hallo Andy,

vielen Dank erst einmal für deine Bereitschaft, mich zu unterstützen...
Aber irgendwie scheint deine Antwort nicht ganz angekommen zu sein.

Außer

Und ?

steht da nix...

Viele Grüße
Sky
147448
147448 01.02.2021 um 22:05:22 Uhr
Goto Top
Sie haben alle Dateien nur mit der Dateiendung TXT
SkydiverJB
SkydiverJB 02.02.2021 aktualisiert um 08:35:58 Uhr
Goto Top
Ja, das stimmt, aber vielleicht erkläre ich es noch einmal.

Es gibt eine Reihe von Text-Dateien auf einem Webspeicherort, die ich in einem Batch herunterladen will.
Die Dateinamen sind in einer anderen Text-Datei auf meinem Rechner in der oben abgebildeten Liste

al_asp.txt
ar_asp.txt
at_asp.txt,
etc.

hinterlegt.
(Oh, hier kann die Verwirrung herkommen, ich hatte es als Code eingefügt).

Die Batch liest jetzt jeden dieser Dateinamen aus und läd dann die entsprechende Datei vom Webspeicherort herunter.

Das erfolgt über die oben abgebildete Batch.

Die Namen der Dateien sind aber nicht immer gleich und ich muss die Text-Datei mit den Dateinamen immer manuell aufbereiten.

Jetzt möchte ich direkt auf dem Webspeicherort die dort vorhandenen Dateien

al_asp.txt
ar_asp.txt
at_asp.txt
etc.

in der Batch auslesen und dann herunterladen.

Ach so, vielleicht noch die Ergänzung, dass ich nicht immer alle vorhandenen Dateien vom Webspeicherort herunterladen möchte.
Der User soll anhand der Liste die Wahl haben, ob er diese herunterladen möchte oder nicht.
Ich würde daher diesen Codeschnipsel einbauen:

FOR /f %%f IN (%Liste%) DO (
	Set Datei=%%f
	Set eingabe=n
	echo.
	echo.
	echo.
	Set /p eingabe="Soll %%f heruntergeladen werden (j/n)?"  
	call :kopieren
	cls )
exit

:kopieren
	IF %eingabe% EQU j start "" /min bitsadmin.exe /transfer "Airspace laden" %Webserver%%Datei% %Pfad%%Datei%  
	IF %eingabe% EQU J start "" /min bitsadmin.exe /transfer "Airspace laden" %Webserver%%Datei% %Pfad%%Datei%  

Daher benötige ich die Liste in der Textdatei - oder eben direkt durch Auslesen des Webspeicherortes in der Schleife um dann damit weiter zu machen.

Viel Grüße
Sky
147323
147323 02.02.2021 aktualisiert um 12:15:56 Uhr
Goto Top
oder eben direkt durch Auslesen des Webspeicherortes in der Schleife um dann damit weiter zu machen.
Dazu muss man von dir erst mal wissen wie die HTML-Seite überhaupt aufgebaut ist von der man die Namen abfragen soll, dann ist das kein Thema! Außer sie ist Plaintext, oder die Namen sind ähnlich aufgebaut und lassen sich über Regex extrahieren.
SkydiverJB
SkydiverJB 02.02.2021 aktualisiert um 19:18:13 Uhr
Goto Top
Hallo jokari,

vielen Dank für deine Unterstützung...
Auf der Seite gibt es lediglich eine Liste der Dateien, die dort herunter zu laden sind - über rechter Mausklick --> speichern unter...

Ich weiß nicht, ob ich hier einfach so die Adresse der Seite posten kann, aber es sieht so aus:

bild1

Der Quelltext dazu so:

bild2

Vielleicht hilft das.

Viele Grüße
Sky
147323
147323 03.02.2021 aktualisiert um 12:34:57 Uhr
Goto Top
Kein Problem, da reicht zum Extrahieren und Download ein Einzeiler,
@echo off
powershell -EP Bypass -C "(iwr 'https://www.xxxxxxx.de/leonardo/index.php?name=leonardo&op=luftraum').Links | ?{$_.href -like '*.txt'} | %%{iwr ('https://www.xxxxxx.de' + $_.href) -OutFile ('D:\Ordner\' + (Split-Path $_.href -leaf))}"  
Domains und Pfade anpassen, fertig.
SkydiverJB
SkydiverJB 03.02.2021 aktualisiert um 12:31:36 Uhr
Goto Top
Hallo jokari,

vielen Dank, das funktioniert...

... sofern es sich um eine html-Seite handelt face-wink

Hier ist es unter php folgende Seite: https*://www.webserver-soundso.de/leonardo/index.php?name=leonardo&op=luftraum

Sorry, hatte ich gar nicht geschrieben...

Deshalb wollte ich auch die Files auf der Unterseite (wo diese abgelegt sind) auslesen.

Viele Grüße
Sky
147323
147323 03.02.2021 aktualisiert um 12:22:55 Uhr
Goto Top
sofern es sich um eine html-Seite handelt
Nö, macht keinen Unterschied ein PHP generiert auch nur HTML Content! Klappt also auch damit problemlos! ...
Hier ist es unter php folgende Seite:
p.s. die Domain/URL "www.webserver-soundso.de" gibt es nicht.
SkydiverJB
SkydiverJB 03.02.2021 um 12:31:26 Uhr
Goto Top
p.s. die Domain/URL "www.webserver-soundso.de" gibt es nicht.

Stimmt, wollte aber die Seite nicht so populär posten...

VG
Sky
147323
Lösung 147323 03.02.2021 aktualisiert um 12:38:41 Uhr
Goto Top
Obiger Code geht in einer Batchdatei mit der Seite habe sie gerade gefunden und getestet, habe die URLs im Code oben entsprechend angepasst brauchst nur das "xxxxxx" in beiden URLs durch die richtige Domain austauschen ...

Ich bin jetzt raus. Case closed.
SkydiverJB
SkydiverJB 03.02.2021 um 13:06:53 Uhr
Goto Top
Vielen vielen Dank...

Liebe Grüße
Sky