Mit Batch eine Textsuche schreiben
Hallo allerseits!
Ich möchte mir mit Batch eine Textsuche basteln, die prüft, ob der eingegebene Suchtext in verschiedenen Ordnernamen enthalten ist, die auch länger sein dürfen als der Suchtext. Bei einer Übereinstimmung soll der vollständige Name des betreffenden Ordners in einer Variablen abgelegt werden.
Die "FOR /F"-Funktion scheint dafür nicht zu funktionieren, da diese offenbar nur entweder ganze Ordnernamen oder durch Trennzeichen (Delims) gegliederte Teilnamen (Tokens) einlesen kann.
Ich würde mich freuen, wenn mir der eine oder andere erfahrenere Batch-User hier im Forum diesbezüglich einen Tipp geben könnte. Vielen Dank schon einmal im Voraus.
Ich möchte mir mit Batch eine Textsuche basteln, die prüft, ob der eingegebene Suchtext in verschiedenen Ordnernamen enthalten ist, die auch länger sein dürfen als der Suchtext. Bei einer Übereinstimmung soll der vollständige Name des betreffenden Ordners in einer Variablen abgelegt werden.
Die "FOR /F"-Funktion scheint dafür nicht zu funktionieren, da diese offenbar nur entweder ganze Ordnernamen oder durch Trennzeichen (Delims) gegliederte Teilnamen (Tokens) einlesen kann.
Ich würde mich freuen, wenn mir der eine oder andere erfahrenere Batch-User hier im Forum diesbezüglich einen Tipp geben könnte. Vielen Dank schon einmal im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 194031
Url: https://administrator.de/contentid/194031
Ausgedruckt am: 26.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo NickMcNaim!
Woher kommen denn die "verschiedenen Ordnernamen"?
Soferne es mehr als einen Ordnernamen als Ergebnis geben kann, ist das Ablegen in einer Variablen nicht sinnvoll - dann wäre gleich die Weiterverarbeitung (über die Du nix Näheres geschrieben hast) innerhalb der Schleife das Thema ...
Unter der Annahme, dass Du die Unterordner (nur eine Ebene) eines gegebenen Basisordners auf den Namensbestandteil "Test" untersuchen wolltest, sähe das etwa so aus:
Anstelle der Zeile 6 wäre dann die gewünschte Weiterverarbeitung durchzuführen.
Grüße
bastla
Woher kommen denn die "verschiedenen Ordnernamen"?
Soferne es mehr als einen Ordnernamen als Ergebnis geben kann, ist das Ablegen in einer Variablen nicht sinnvoll - dann wäre gleich die Weiterverarbeitung (über die Du nix Näheres geschrieben hast) innerhalb der Schleife das Thema ...
Unter der Annahme, dass Du die Unterordner (nur eine Ebene) eines gegebenen Basisordners auf den Namensbestandteil "Test" untersuchen wolltest, sähe das etwa so aus:
@echo off & setlocal
set "Suche=Test"
set "Basis=D:\Dein Basisordner"
for /f "delims=" %%i in ('dir /b/ad "%Basis%\*%Suche%*.*"') do (
echo Gefunden: "%Basis%\%%i"
)
Grüße
bastla