kriegstreiber
Goto Top

Batch, Mehrere Pfade als eine Variable, diese Trennen, Pfade durchsuchen, Ergebnis als Variable speichern

Hallo liebe Gemeinde. Ich habe einen absoluten Blackout was einen kleinen Suchlauf angeht.
Die Situation ist folgende. Ich habe ein Variable "BackupDir" in der mehrere Laufwerke mit Verzeichnissen vorhanden sein können. Separator ist ein Komma. Beispiel:

set "BackupDir=C:\Backup,D:\Backup,E:\Backup"  

Nun möchte ich folgendes bewerkstelligen:

Alle Laufwerk/Verzeichnis Pfade sollen nach einem Verzeichnis durchsucht werden. Nehmen wir als Beispiel:

Realer vorhandener Pfad:
E:\Backup\Rechnung_0815

Die Routine soll nun "C.\Backup","D:\Backup",E:\Backup" nacheinander nach dem Ordner "Rechnung_0815" durchsuchen. Der Ordner "Rechnung_0815" wird via set /p als manuelle Variable vorher festgelegt. Der Ordner existiert auch garantiert nur 1x unter einem der in Variable "BackupDir" festgelegten Pfad.

Wird das Verzeichnis gefunden (in unserem Beispiel dann unter "E:\Backup", möchte ich das E:\Backup als Variable gespeichert wird.

Ich habe leider wirklich keine Idee wo ich da überhaupt mit der for Schleife anfangen soll, geschweige denn wie ich alle Tokens (, ist der Separator) nacheinander mit einem "find" Befehl abfragen kann. Vielleicht gibt es auch eine ganz einfache Routine dafür und ich denke viel zu kompliziert.

Falls das so gar nicht möglich ist, alternativ könnte ich auch eine txt Datei anlegen, wo ich in jeder Zeile einen Pfad anlege und die txt Zeilen durchsuche. Nur wäre mir die Lösung mittels Variable lieber.

Für einen Fingerzeig wäre ich sehr dankbar. <3

Content-ID: 62528820137

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

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

7907292512
Lösung 7907292512 11.09.2023 aktualisiert um 17:29:35 Uhr
Goto Top
@echo off
set "BackupDir=C:\Backup D:\Backup E:\Backup"  
set /p "ordner=Ordnernamen eingeben:"  
set "mybackupdir="  
for %%a in (%BackupDir%) do if exist "%%a\%ordner%" set "mybackupdir=%%a"  
if not defined mybackupdir (
    echo Ordner nicht gefunden!
    Pause
    goto :eof
)
echo %mybackupdir%
Gruß sid
Kriegstreiber
Kriegstreiber 11.09.2023 um 17:29:29 Uhr
Goto Top
Ich denke über 150.000 Ecken und das geht so schnell. Vielen lieben Dank <3