Aktuelles Verzeichnis ermitteln
Wie kann ich in einer Batch-Datei den Namen des aktuellen (letzten) Unterverzeichnisses ermitteln?
Bsp: Wenn %CD% = "D:\Folder\...\Subfolder" ist, möchte ich "Subfolder" auslesen können.
Bsp: Wenn %CD% = "D:\Folder\...\Subfolder" ist, möchte ich "Subfolder" auslesen können.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 34759
Url: https://administrator.de/contentid/34759
Ausgedruckt am: 05.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Stimmt schon, yashi,
ein bisschen wacklig ist diese Lösung schon...
Besser/robuster ist dann das Ersetzen der Backslashes durch [","] ,
also durch die Sequenz Hochkomma-Komma-Hochkomma.
Ein Test am CMD-Prompt würde dann z.B. liefern:
Da Kollege Jens03 den letzten Pfadteil aber vermutlich ohne umschließende Anführungszeichen haben will, müssten die wieder weggefiltert werden_
Und der geänderte Batchschnipsel wäre entsprechend
Dann können von mir aus auch Kommata im Pfadnamen sein.
Grüße
Biber
ein bisschen wacklig ist diese Lösung schon...
Besser/robuster ist dann das Ersetzen der Backslashes durch [","] ,
also durch die Sequenz Hochkomma-Komma-Hochkomma.
Ein Test am CMD-Prompt würde dann z.B. liefern:
D:\Dokumente und Einstellungen>
$cmd$for %i in ("%cd:\=","%") do @echo %i
"D:"
"Dokumente und Einstellungen"
D:\Dokumente und Einstellungen>
$cmd$for %i in ("%cd:\=","%") do @echo %~i
D:
Dokumente und Einstellungen
Und der geänderte Batchschnipsel wäre entsprechend
::------snipp LastDirDemo.bat
@for %%i in (%cd:\=","%) do @set "lastDir=%%~i"
@echo Letztes Unterverzeichnis in %CD% ist %LastDir%
::------snapp LastDirDemo.bat
Dann können von mir aus auch Kommata im Pfadnamen sein.
Grüße
Biber