danilowitz
Goto Top

Dateinamen mit Punkt einer Variablen zuweisen

Hallo Leute,
Bin neu hier im Forum und hätte eine Frage zur Batchprogrammierung, zu welcher ich im Internet keine befriedigende Antwort gefunden habe:
Ich möchte den Dateinamen (Verzeichnisnamen) aus dem Argument %1 auslesen. Üblicherweise läuft das über %~n1. Leider klappt das nicht, wenn im Dateinamen ein Punkt vor kommt, weil da der Beginn der Extention vermutet wird.

Konkretes Beispiel:

D:\Projekte\01 St.Nikolaus\...
Diesen Pfad sende ich per Rechtsklick an eine Batchdatei und möchte den Namen der letzten Verzeichnisebene einer Variablen für die weitere Verarbeitung zuweisen, also "01 St.Nikolaus". Mit %~n1 bekomme ich nur "01 St".

Wäre toll, wenn jemand ne Lösung hätte.

Danke im Voraus und Grüße

Content-Key: 280753

Url: https://administrator.de/contentid/280753

Ausgedruckt am: 29.03.2024 um 01:03 Uhr

Mitglied: 114757
114757 21.08.2015 aktualisiert um 00:42:24 Uhr
Goto Top
Moin,
%~nx1
macht das gewünschte. Klingt zwar blöd aber wenn der Verzeichnisname einen Punkt besitzt ist das für Batch eine Dateierweiterung wenn der übergebene String ein Verzeichnis ist.

Gruß jodel32
Mitglied: Danilowitz
Danilowitz 21.08.2015 um 00:51:11 Uhr
Goto Top
Habe das jetzt nicht getestet, aber was passiert wenn 2 Punkte vorhanden sind?
Müsste man sich nicht irgendwie von hinten bis zum \ durcharbeiten, um die unterste Verzeichnisebene zu greifen?

Danke und gN
Mitglied: 114757
Lösung 114757 21.08.2015 aktualisiert um 09:12:11 Uhr
Goto Top
Zitat von @Danilowitz:

Habe das jetzt nicht getestet, aber was passiert wenn 2 Punkte vorhanden sind?
Müsste man sich nicht irgendwie von hinten bis zum \ durcharbeiten, um die unterste Verzeichnisebene zu greifen?

Nein, als Extension wird immer nur alles ab dem letzten Punkt angesehen, es landet also alles vom Namen in deine Variable, kannst mir ruhig glauben ...

Immer vorausgesetzt du übergibst hier einen Ordnerpfad und keinen Dateipfad.

Beispiel:
Du übergibst folgenden Ordnernamen
C:\pfad\ordnerx.y.z
dann ergibt %~nx1

ordnerx.y.z

So wie es sein soll.
Mitglied: Danilowitz
Danilowitz 21.08.2015 um 09:13:54 Uhr
Goto Top
Hallo Jodel,
jetzt jodle ich! Hat wunderbar geklappt!


Danke und Grüße
Daniel