nickmcnaim
Goto Top

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.

Content-ID: 194031

Url: https://administrator.de/contentid/194031

Ausgedruckt am: 26.11.2024 um 00:11 Uhr

bastla
bastla 10.11.2012 um 09:38:11 Uhr
Goto Top
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:
@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"  
)
Anstelle der Zeile 6 wäre dann die gewünschte Weiterverarbeitung durchzuführen.

Grüße
bastla
NickMcNaim
NickMcNaim 10.11.2012 um 19:49:25 Uhr
Goto Top
Der Stern als Platzhalter! Natürlich! Manchmal denkt man an die einfachsten Dinge nicht. Vielen Dank, bastla! Du hast mir sehr geholfen.