Wie zum extrahieren einer Teilzeichenfolge auf die batch-Datei
Nun ich muss die substring-form, die eine Zeichenfolge auf die batch-Datei
Habe ich diese
set path="c:\test\branches\9.1\_build"
Brauche ich den ersten Wert nach den Zweigen Wert : 9.1
Dieser Wert ist aber in anderer position wie
c:\xxx\yyyy\zzzz\branches\otherbranch\zzz\uuuu\iii
In diesem Fall brauche ich dieses: otherbranch
Ich brauche eine generische Lösung, Danke Jungs..
- Ja, in ein .CMD-Datei
- Empfehlung in keinem Zusammenhang zu deiner Frage: verwenden Sie nicht immer WEG, wie Sie Ihre eigenen Variablen. Es reserviert ist, halten die Ordner, die durchsucht werden sollen, wenn Sie auf der Suche für einen Befehl. Ändern Sie den Wert Probleme verursachen kann, später die Linie nach unten.
- Danke Mann.. das ist nur ein Beispiel, aber eine gute Empfehlung..
Du musst angemeldet sein, um einen Kommentar abzugeben.
set "mypath=%mypath:*\branches\=%"
Es verwendet :split-Unterroutine, die hier gefunden werden kann http://ss64.org/viewtopic.php?id=1687
Out Of Bound
Hier ist eine einfache Lösung, die mithilfe einer handlichen hybrid-JScript - /batch-Dienstprogramm namens REPL.FLEDERMAUS führt, dass die regex suchen und ersetzen auf der Standardeingabe und schreibt das Ergebnis nach stdout. Es ist Reine Skript, das läuft auf jedem modernen Windows-Rechner ab XP weiter - keine 3rd-party ausführbar ist erforderlich.
Es hat viele Optionen, einschließlich einer
A
option, dass nur Listen ersetzten Linien, die übereinstimmen, undS
liest aus einer environment-Variablen anstatt von stdin. Die vollständige Dokumentation ist eingebettet in das Skript.Vorausgesetzt, REPL.FLEDERMAUS ist in Ihrem aktuellen Verzeichnis, oder besser noch, irgendwo in Ihrem Pfad, dann wird der folgende Satz
value
angemessen. Es wird nicht definiert, wenn\branches\
konnte nicht gefunden werden, oder wenn nichts folgt\branches\
: