Batch Schleife in Schleife, was mache ich falsch?

Moin,

ich versuche über einen bekannten Dateinamen von zwei Dateien den jeweiligen Überordner mit Pfad als Variable zu speichern.

Dazu fiel mir nur ein die gesuchte Datei temporär umzubenennen, einen Ordner mit dem Namen zu erstellen und in diesen mit CD zu wechseln.
Dann kann ich mit cd.. eine Ordnerebene zurückspringen und habe den gesuchten Pfad.

Nun muss ich noch den Pfad als Variable speichern.
%cd% gibt leider nicht den aktuellen Pfad sondern den Pfad vor begin der ersten Schleife aus.

Meine Alternatividee war:

for /f %%i in ('cd') do Set drv="%%i"

jedoch bleibt die Variable "drv" leer...

Hat jemand eine Idee?

 @echo off


REM 			suche nach Treiber .inf Dateien mit "oem" im Namen um den richtigen Pfad zu finden.
REM			dabei steht %%a für den Pfad zur .inf Datei.
for /f "delims=" %%a in ('dir "*oem*" /a-d /b /s ^| findstr.exe /l /i /c:.inf') do (




REM 			Trick um die richtigen Ordner als Pfad zu speichern:
REM 			zunächst umbenennen der .inf Datei in temp.tmp (später zurück benannt.)
ren "%%a" temp.tmp

REM 			Erstellen eines Ordners mit dem Namen der .Inf Datei.
mkdir "%%a"

REM 			welchseln in diesen Ordner und einen Schritt zurück gehen in den Überordner mit cd..
cd "%%a"
cd ..

REM			den Pfad des überordners als Variable "drv" speichern.
for /f %%i in ('cd') do Set drv="%%i"
echo variable cd ist %cd%
echo variable drv ist %drv%
REM						Hier ist der Fehler, dies klappt nicht.
pause
cls

REM			löschen des Ordners mit dem Namen der .inf Datei.
rd "%%a"
REM			umbenennen rückgängig machen.
ren temp.tmp "%%a"
Oh Gott, Oh Gott was machst du da. Mach das ganz anders! 100%
Der Weg zur Lösung ist gut. 0%
Mir fällt ein Besserer ein. Dieser wäre: 0%
Computer, Windows, Technik, IT, programmieren, Batch, cmd, EDV, Informatik, Script, Technologie, Spiele und Gaming

Meistgelesene Fragen zum Thema Script