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-Key: 62528820137

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

Printed on: April 28, 2024 at 17:04 o'clock

Mitglied: 7907292512
Solution 7907292512 Sep 11, 2023 updated at 15:29:35 (UTC)
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
Member: Kriegstreiber
Kriegstreiber Sep 11, 2023 at 15:29:29 (UTC)
Goto Top
Ich denke über 150.000 Ecken und das geht so schnell. Vielen lieben Dank <3