DOS BATCH Programmierung Position von Zeichen in Variable suchen und diese kürzen
Hallo
Ich hoffe dass mir jemand das DOS-Batch-Problemchen lösen kann.
Das mit der FOR-Schleife klappt bei mir nicht so wie möchte
Das Kernproblem dabei ist, dass ich Dateien in verschiedene Verzeichnisse kopieren muss.
Ich habe Pfad-Variablen, welche der Benutzer eingeben kann.
Dabei können auch Unterverzeichnisse vorkommen und Platzhalter wie * oder ?.
Beispiel 1
\abc\de\f*.*
Beispiel 2
c:\Material\Schrauben\10mm\Messing_*.*
gewünschtes Resultat:
bei Beispiel 1
\abc\de\
bei Beispiel 2
c:\Material\Schrauben\10mm\
Wenn es hilft, kann ich auch immer den kompletten Pfad liefern wie in Beispiel 2
..demnach muss ich in den beiden Beispielen die letzte Position vom Backslash "\" ermitteln und anschliessend die rechte Seite der Variable löschen.
... was mir bis anhin leider nicht gelang
Ich danke für jeden Lösungsansatz
herbst27
Ich hoffe dass mir jemand das DOS-Batch-Problemchen lösen kann.
Das mit der FOR-Schleife klappt bei mir nicht so wie möchte
Das Kernproblem dabei ist, dass ich Dateien in verschiedene Verzeichnisse kopieren muss.
Ich habe Pfad-Variablen, welche der Benutzer eingeben kann.
Dabei können auch Unterverzeichnisse vorkommen und Platzhalter wie * oder ?.
Beispiel 1
\abc\de\f*.*
Beispiel 2
c:\Material\Schrauben\10mm\Messing_*.*
gewünschtes Resultat:
bei Beispiel 1
\abc\de\
bei Beispiel 2
c:\Material\Schrauben\10mm\
Wenn es hilft, kann ich auch immer den kompletten Pfad liefern wie in Beispiel 2
..demnach muss ich in den beiden Beispielen die letzte Position vom Backslash "\" ermitteln und anschliessend die rechte Seite der Variable löschen.
... was mir bis anhin leider nicht gelang
Ich danke für jeden Lösungsansatz
herbst27
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 21.03.2011 um 18:17:39 Uhr
Beitrag verschoben von "Betriebssysteme" nach "Batch & Shell".
Content-ID: 163068
Url: https://administrator.de/forum/dos-batch-programmierung-position-von-zeichen-in-variable-suchen-und-diese-kuerzen-163068.html
Ausgedruckt am: 21.05.2025 um 05:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo herbst27 und willkommen im Forum!
Da Derartiges nicht ganz so selten benötigt wird, gibt es in CMD bereits eine passende Funktionalität:
oder mit Laufwerk:
Mehr dazu ziemlich am Ende der Hilfe zu "
Grüße
bastla
P.S.: Per DOS wäre das nicht möglich gewesen - aber dazu gibt es ja die CMD-Shell ...
Da Derartiges nicht ganz so selten benötigt wird, gibt es in CMD bereits eine passende Funktionalität:
for /f "delims=" %%i in ("%Eingabe%") do set "Pfad=%%~pi"
for /f "delims=" %%i in ("%Eingabe%") do set "Pfad=%%~dpi"
for
" ...Grüße
bastla
P.S.: Per DOS wäre das nicht möglich gewesen - aber dazu gibt es ja die CMD-Shell ...