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, 3116 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
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...