Mehrere Substrings aus Dateipfad heraussuchen und übergeben

Mitglied: KillPhil84

KillPhil84 (Level 1) - Jetzt verbinden

30.09.2020 um 16:53 Uhr, 197 Aufrufe, 3 Kommentare

Hallo zusammen!

Ich hole mir aus einer Verzeichnisstruktur per Batch-Datei die Pfade von bestimmten Dateien, deren Benennung immer einem bestimmten Muster folgt.

FOR /F "delims=" %%i in ('dir/S /B^| findstr "[0-9]_xxx.xyz"') do (
echo Gefunden: %%i
)

Als Ergebnis erhalte ich beispielhaft folgende Zeile:

Gefunden: C:\...\Beispielordner\123\5555_abc\5555_xxx\5555_xxx.xyz

Nun möchte ich einzelne Substrings aus dem Pfad heraussuchen und zuweisen (Gruppe = 123, Name = 5555_xxx, Pfad = C:\...\Beispielordner\123\5555_abc\5555_xxx\5555__xxx.xyz), denn diese Substrings sollen später in Spalten (Gruppe || Name || Pfad) einer Tabelle in einer Oracle DB landen. Hierzu dachte ich mir, per RegEx zwischen den Backslashes zu suchen - über erfolglose Ansätze bin ich allerdings noch nicht herausgekommen, da ich mich weder mit den entsprechenden Befehlen noch regulären Ausdrücken gut auskenne.

Ich wäre für jegliche Anregung sehr dankbar!
Mitglied: 145916
30.09.2020, aktualisiert um 17:02 Uhr
Nimm doch gleich die Powershell, die kannst du auch in Batch einbetten wenn du unbedingt willst, und Regex braucht es dafür gar nicht .
aus der PS kannst du auch direkt in die Datenbank schreiben oder eben einen Export nach CSV oder was auch immer machen, ist ja objektorientiert im Gegensatz zu Batch.
Bitte warten ..
Mitglied: KillPhil84
30.09.2020 um 23:46 Uhr
Habe es mir mal angeschaut, ich denke damit wäre es leichter umzusetzen Danke für den Tipp... leider kann ich es mir nicht wirklich aussuchen und Vorgabe ist wohl Batch und SQL-Plus... .. . Habe jetzt schon überlegt, alles in eine temporäre Datei zu schreiben, die am Ende wieder gelöscht wird...
Bitte warten ..
Mitglied: KillPhil84
01.10.2020, aktualisiert um 11:16 Uhr
Das ist jetzt erstmal der Stand, bis zu dem ich vorgedrungen bin:

FOR /F "tokens=7,8,9,* delims=\" %%a in ('dir /S /B^| findstr "[0-9]_xxx.xyz"') do (
@echo insert into test_tabelle (a,b,c,d,e) values ('0','%%a','%%c','%%~dpd%%a\%%b\%%c','Inhalt xxx.txt'); | sqlplus USER/PW@DB
)

Ergebnis: Ich bekomme Zeilenweise die richtige Ausgabe, die mit SQLPLUS dann auch in die Datenbank wandert. Inhalt xxx.txt ist jetzt noch ein Platzhalter, darin soll jeweils der Inhalt der immer vorhandenen xxx.txt, in der eine Zeile Text steht und welche hier liegt: %%~dpd%%a\%%b\%%c\xxx.txt, eingefügt werden.

Ich hoffe, dass das noch irgendwie realisierbar ist - mir fehlen gerade mal wieder die Ideen
Bitte warten ..
Heiß diskutierte Inhalte
Windows Server
Hyper-V Server vs Datacenter?
holliknolliQuestionWindows Server26 Comments

Hallo, hat jemand Erfahrung mit dem - kostenlosen - Hyper-V-Server? Ich meine, warum teure Lizenzen für Datacenter zahlen, wenn ...

Exchange Server
Zustellbestätigung deaktivieren
defiant01QuestionExchange Server12 Comments

Hallo, ich stehe vor der Aufgabe bei einem Postfach die Zustellbestätigung für eingehende Mails zu deaktivieren. Der User geht ...

LAN, WAN, Wireless
Spanning Tree Probleme
solved predator66QuestionLAN, WAN, Wireless12 Comments

Hallo, wir haben hier eigenartige Spanningtree Probleme, die wir zur Zeit nicht gelöst bekommen: New Root Port MAC ist ...

Peripherals
Kaufberatung 32" Monitor mit WQHD Auflösung
solved GrueneSosseMitSpeckQuestionPeripherals10 Comments

Ich wollt mir einen 32" Monitor als 16:9 zulegen, 2560x1440 Pixel (WQHD). muß kein Ultrawide mit 21:9 und curved ...

Notebook & Accessories
Business Support HP, Dell, Lenovo etc
fuzzyLogicQuestionNotebook & Accessories10 Comments

Moin, ich arbeite derzeit fast ausschließlich mit HP und frage mich wie es auf Support Baustelle bei anderen Herstellern ...

Security
Unbefugtes Öffnen zählt nicht als Einbruch
certifiedit.netTickerSecurity9 Comments

Moin, wenn wir das auf die IT übertragen dürfte kaum ein Einbruch etc unter Einbruch zu definieren sein, immerhin ...

Ähnliche Inhalte
Batch & Shell
Powershell: Substring
gelöst PeterGygerFrageBatch & Shell9 Kommentare

Hallo Eine Frage an die Praktiker. Ich wil aus einem String einen Teil "rauschneiden". gibt aus, dass diese Zeile ...

Datenbanken
MSSQL Substring
gelöst DocuSnap-DudeFrageDatenbanken6 Kommentare

Hallo, heute habe ich folgende Hearusforderung: Tabelle1 (Netzwerkbereichsdefintionen) Tabelle 2 (Geräteliste) Ziel nun in SQL: gib mir Gerätenamen und ...

Batch & Shell
Dateipfad ausgeben
gelöst tegwertFrageBatch & Shell2 Kommentare

Hallo zusammen! Ich nutze folgende Zeile zur Ermittlung der Dateipfade einer bestimmten mehrfach vorkommenden Datei: for %%a in (F ...

Batch & Shell

Frage zu Powershell substring und indexof

gelöst mschaedler1982FrageBatch & Shell5 Kommentare

Hallo zusammen, ich bin schon lange am probieren, aber komme irgendwie nicht weiter. Ich will eine Text Datei einlesen ...

Batch & Shell

Batch dir Dateipfad auflösen

XaiviaFrageBatch & Shell2 Kommentare

Ich hab eine Datei dort stehen Datei Namen drin mit Wildcards und diese möchte ich verarbeiten Die Listendatei sieht ...

Batch & Shell

Dateipfad mit Powershell bearbeiten bzw trimmern

gelöst MarciMarc85FrageBatch & Shell2 Kommentare

Hallo Ich benötige den Pfad zu einer Datei. Mit diesem Befehl frage ich den Pafd zum laufenden Service ab: ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT