Teilzeichenfolge mithilfe bat Befehl
Habe ich die folgenden Dinge in meiner bat-Datei. sagen
set path=c:\temp\test
also im Grunde möchte ich eine Ausgabe, die mir geben würde, das Ergebnis als c:\temp\
ich nicht finden indexof Entsprechung im bat-Befehl.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hintergrund:
Angewendet problem:
Eine Frage, die macht mich wirklich wollen, 4DOS noch existierte. Allerdings habe ich etwas gefunden, das helfen könnte, in
alt.msdos.batch.nt
. Die manual-Seite fürset
scheint, enthalten die meisten der gleichen Informationen. (Befehlhelp set
)(Hinweis: getestet auf Windows XP SP3)
Warum willst du das?
Johannes' Antwort ist eine mögliche Lösung, aber vielleicht der Weg, den Sie finden wird (oder werden könnten) bestanden, die als argument an das Skript, in dem Fall können Sie die folgende syntax verwenden:
Alternativ können Sie kombinieren
..
und der script-Pfad (%0
):Naiv Teilstrings habe das problem, dass Sie anpassen, um Sie jedes mal, wenn Sie Ihre Wege ändern und es ist nicht eine generische Lösung für das problem.
Folgende batch-Datei gibt ein proof-of-concept, wie Sie tun könnten, das abschneiden ein Teil des Pfades:
Es ist hart codiert, um eine einzelne variable, aber das ist leicht behoben, wenn nötig.
Den core-Teil ist hier die
strip
Unterroutine, die loops und schneidet das Letzte Zeichen der Zeichenkette, bis ein backslash, gefunden wird. Diesem effektiv entfernt den letzten Teil des Weges.