Cmd – die besten Beiträge

Per Batch Wert aus einem HTML Code auslesen?

Hallo liebe Community!

Ich habe im Forum schon nach Lösungen gesucht, aber leider nur Bruchstücke der Lösung gefunden.

Ich habe schon mehrere Schritte per Batch realisiert, aber der letzte will mir nicht gelingen:

Ich habe ein Programm, welches in verschiedenen Versionen gestartet werden kann, die Version bestimmt sich nach der jeweiligen Datenbank und -version.

Dafür gibt es eine HTML Übersichtsseite die alle Datenbanken mit allen Versionen abbildet. Diese wird automatisch als Textdatei runtergeladen und aktualisiert.

Nun muss ich aus dem HTML Code die Zeile mit der richtigen Datenbank auslesen und anschließend die Version, die weiter hinten steht.

Beispiel

<tr><td class='subtd'>DB1</td><td class='subtd'><nobr><font color=#fc7f2b><img title='Ich bin eine Datenbank' src='logo_ci.svg' width='14' height='14'> VERSIONSNUMMER</font></nobr> <font color=grey title='Letztes Login (Monat.Jahr) auf dieser Datenbank'>XXX</font> </td></tr>

<tr><td class='subtd'>DB2</td><td class='subtd'><nobr><font color=#fc7f2b><img title='Ich bin eine Datenbank' src='logo_ci.svg' width='14' height='14'> VERSIONSNUMMER</font></nobr> <font color=grey title='Letztes Login (Monat.Jahr) auf dieser Datenbank'>XXX</font> </td></tr>

HINWEIS die Versionsnummer ist immer gleich aufgebaut, aber unterschiedlich lang XX.X.XXX ODER X.XX.XXXX

Ich würde mich riesig über eine Erklärung zur Lösung freuen, weil ich was dazu lernen möchte.

Computer, programmieren, Batch, cmd, PowerShell, Regulärer Ausdruck

Batch Schleife in Schleife, was mache ich falsch?

Moin,

ich versuche über einen bekannten Dateinamen von zwei Dateien den jeweiligen Überordner mit Pfad als Variable zu speichern.

Dazu fiel mir nur ein die gesuchte Datei temporär umzubenennen, einen Ordner mit dem Namen zu erstellen und in diesen mit CD zu wechseln.
Dann kann ich mit cd.. eine Ordnerebene zurückspringen und habe den gesuchten Pfad.

Nun muss ich noch den Pfad als Variable speichern.
%cd% gibt leider nicht den aktuellen Pfad sondern den Pfad vor begin der ersten Schleife aus.

Meine Alternatividee war:

for /f %%i in ('cd') do Set drv="%%i"

jedoch bleibt die Variable "drv" leer...

Hat jemand eine Idee?

 @echo off


REM 			suche nach Treiber .inf Dateien mit "oem" im Namen um den richtigen Pfad zu finden.
REM			dabei steht %%a für den Pfad zur .inf Datei.
for /f "delims=" %%a in ('dir "*oem*" /a-d /b /s ^| findstr.exe /l /i /c:.inf') do (




REM 			Trick um die richtigen Ordner als Pfad zu speichern:
REM 			zunächst umbenennen der .inf Datei in temp.tmp (später zurück benannt.)
ren "%%a" temp.tmp

REM 			Erstellen eines Ordners mit dem Namen der .Inf Datei.
mkdir "%%a"

REM 			welchseln in diesen Ordner und einen Schritt zurück gehen in den Überordner mit cd..
cd "%%a"
cd ..

REM			den Pfad des überordners als Variable "drv" speichern.
for /f %%i in ('cd') do Set drv="%%i"
echo variable cd ist %cd%
echo variable drv ist %drv%
REM						Hier ist der Fehler, dies klappt nicht.
pause
cls

REM			löschen des Ordners mit dem Namen der .inf Datei.
rd "%%a"
REM			umbenennen rückgängig machen.
ren temp.tmp "%%a"
Oh Gott, Oh Gott was machst du da. Mach das ganz anders! 100%
Der Weg zur Lösung ist gut. 0%
Mir fällt ein Besserer ein. Dieser wäre: 0%
Computer, Windows, Technik, IT, programmieren, Batch, cmd, EDV, Informatik, Script, Technologie, Spiele und Gaming

Meistgelesene Beiträge zum Thema Cmd