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
Please also mark the comments that contributed to the solution of the article
Kommentar vom Moderator Biber am Mar 21, 2011 um 17:17:39 Uhr
Beitrag verschoben von "Betriebssysteme" nach "Batch & Shell".
Content-Key: 163068
Url: https://administrator.de/contentid/163068
Printed on: April 19, 2024 at 17:04 o'clock
2 Comments
Latest comment
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 ...