![]() |
[batch] ordnernamen
ich suche schon seit Ewigkeiten nach einer Möglichkeit den aktuellen Ordnernamen (nicht den ganzen Pfad) zu ermitteln...nach stundenlangem googlen habe ich bisschen mit %cd% rumexperimentiert, jedoch habe ich keine funktionierende Variante hinbekommen.
Hoffe irgendjemand hat da eine Idee :) Gruß Frank |
Re: [batch] ordnernamen
Moin Frank,
der aktuelle Order wird schlicht durch . (ein Punkt) angegeben. Oder brauchst Du explizit den Namen? |
Re: [batch] ordnernamen
Den Namen bekommst du so:
Code:
@echo off
for %%i in (%cd:\=,%) do set MyDir=%%i echo %MyDir% pause |
Re: [batch] ordnernamen
ich brauch den namen...
ums mal zu erklären, ich will ein script schreiben, welches mir bestimmte dateien in einem Verzeichnis (mittels 7zip) packt, wo das archiv den Namen des ordners hat. wie die funktion "hinzufügen zu <ordner>.zip" nur halt automatisiert, da ich noch Dateien ausklammern will (funktioniert schon). Danke Robby, das war genau das, was ich gesucht habe :) Gruß Frank |
Re: [batch] ordnernamen
Moin Robert,
auch schön. Ich hätte noch folgendes anzubieten:
Code:
Lässt man das zweite SET weg, bekommt man den Pfad mit \ am Ende, sonst ohne.
@ECHO OFF
for %%I IN (%~0) DO SET SELF=%%~dI%%~pI SET SELF=%SELF:~,-1% ECHO %SELF% pause |
Re: [batch] ordnernamen
Hallo Christian,
bei deiner Variante bekomme ich den ganzen Pfad zum Ordner. Das wollte der TE aber nicht, er wollte doch nur den Ordnernamen.. |
Re: [batch] ordnernamen
was jetzt noch interesant wäre: ob es möglich ist, 2 ebenen weiter oben den Namen zu bekommen :)
Grund dafür ist, dass ich manchmal SVN-Strukturen habe und somit der "programmname" nicht im letzten ordner steckt (dieser heist da trunk).sowas wie arrays sind mir in bath nicht bekannt... //edit lässt sich das mit dem leerzeichen irgendwie umgehen? hab versucht das in der for-schleife mittels " zu kapseln, hat aber nicht geklappt (trotzdem nur letzter teil) Gruß Frank |
Re: [batch] ordnernamen
Zitat:
Nachtrag: Deine Fassung hat übrigens bei Ordnern mit Leerzeichen das gleiche Problem wie meine ... es wird nur der Anfang des Ordnernamens angezeigt ;-) |
Re: [batch] ordnernamen
Zitat:
Code:
Bei 3 Ordnern wäre es pushd ..\..\.. usw.
@echo off
pushd ..\.. for %%i in (%cd:\=,%) do set MyDir=%%i echo %MyDir% pause Zitat:
|
Re: [batch] ordnernamen
Zitat:
wär noch super, wenn es ne möglichkeit gäbe mit den leerzeichen...wie gesagt ich habs versucht mittels
Code:
Gruß Frank
for %%i in (%cd:\=,%) do set MyDir="%%i"
set MyDir=%MyDir:~1,-1% echo %MyDir% |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz