Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Übergeordneter Ordner als Variabel

Frage Entwicklung Batch & Shell

Mitglied: gilldex

gilldex (Level 1) - Jetzt verbinden

27.07.2010, aktualisiert 09:57 Uhr, 3118 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe folgendes Problem zu bewältigen:
Ich möchte einen Ordner, welchen ich vorher als Variabel %bkp_dir% gespeichert habe innerhalb des Ordners "C:\test\" rekursiv suchen lassen.
Anschliessend soll mir der Pfad in welchem dieser Ordner liegt als Variabel gespeichert werden. Ich habe da bereits etwas angefangen, habe aber Probleme nur den übergeordneten Ordner als Variabel zu bekommen.

Folgende Zeile habe ich bis jetzt.:
FOR /F "delims=" %%G IN ('dir "C:\test\" /b /ad /s^|find /i "%bkp_dir%"') DO SET working_dir=%%G

Dieser Code gibt mir aber immer den ganzen Pfad zum Ordner aus, etwa so:
C:\test\sicherung\20100725

Ich möchte aber dass er mir nur anzeigt, in welchem Ordner der Ordner %bkp_dir% gefunden wurde, hier also:
sicherung

Falls das nicht gehen sollte würde mir auch schon reichen, wenn er mir den ganzen Pfad angibt, in welchem der Ordner liegt:
C:\test\sicherung\

Das habe ich auch hinbekommen, indem ich die Variabel einfach um die 8 Zeichen kürze, welche den Ordnernamen ausmachen. Aber falls der Ordnername einmal mehr als 8 Zeichen beinhaltet bekomme ich so natürlich Probleme.

Vielen Dank für eure Hilfe!
Mitglied: Snowman25
27.07.2010 um 09:44 Uhr
Halloo gilldex,

Hast du dir schonmal überlegt, mit PUSHD und POPD zu arbeiten?

Gruß
Snow
Bitte warten ..
Mitglied: gilldex
27.07.2010 um 13:32 Uhr
Danke für deine Antwort, aber leider weiss ich nicht wie ich deinen Tipp nutzen soll/kann. Mir ist die Funktion von PUSHD und POPD zwar klar, aber nicht im Zusammenhang mit meinem Problem.

Für einen kleinen Denkanstoss wäre ich daher durchaus dankbar.
Bitte warten ..
Mitglied: bastla
27.07.2010 um 14:18 Uhr
Hallo gilldex!

Da Du ja vermutlich auch nach kompletten Ordnernamen und nicht nur nach Fragmenten (welche durch "find" ja schließlich gefunden würden) suchen willst, etwa so:
01.
set "working_dir=" 
02.
FOR /F "delims=" %%G IN ('dir "C:\test\%bkp_dir%" /s /b /ad 2^>nul') DO SET "working_dir=%%G" & set "Parent_dir=%%~dpG" 
03.
if not defined working_dir echo Nicht gefunden! & goto :eof 
04.
for %%i in ("%Parent_dir:~,-1%") do set "Parent_dir_name=%%~nxi"
Grüße
bastla
Bitte warten ..
Mitglied: gilldex
28.07.2010 um 08:31 Uhr
Vielen Dank bastla.

Es hat alles wunderbar geklappt.
Es gibt halt doch noch so einiges was man dazu lernen kann, wie ich an deiner Lösung erkennen musste.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 7
Ordner Windows wird auf Netzlaufwerk angelegt (1)

Frage von blackhawk17 zum Thema Windows 7 ...

Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...