2017-04-13 7 views
1

Ich will mich nach Zweignamen Name wird aber Zweig nennen immer mit dem PräfixWie Slash aus Env-Variable entfernen?

origin/ 
eg. origin/master, origin/core 

Meine env Variable ist so etwas wie ein:

set BRANCH="origin/master" 

so weiter, wenn ich versuche

mkdir %BRANCH% 

Befehl, das Verzeichnis heißt Herkunft bec ause slash ist im Verzeichnisnamen nicht zulässig. Einstellung BRANCH var wird früher gemacht, außerhalb des Teils meines Codes.

Ich möchte mkdir benannt mit Zeichenfolge nach Schrägstrich z. wenn BRANCHEN ist „origin/master“ Ich möchte mich machen, die Master

EDIT aufgerufen wird: Ich bin nicht sicher, ob es überhaupt möglich ist, aber ich sehe nicht, andere Art und Weise einzigartig dir zu bekommen Name.

Antwort

2

Sie können die / auf diese Weise ersetzen:

set "branch2=%BRANCH:/=%" 

Nun, wenn Sie auf Branch2 das Ergebnis ein Echo zu tun ist:

"originmaster" 

Hinweis: Sie Ihre BRANCHEN-Variable wie

zuweisen soll
set "BRANCH=origin/master" instead of set BRANCH="origin/master". 

Jetzt, um das Ke zu bekommen yword Sie möchten, können Sie wie etwas tun:

for /f "delims=/ tokens=2" %i in ('echo^(%BRANCH%') do set "branch3=%i" 
+0

danke für den Hinweis! –

0

Während Windows verwendet Schrägstriche in Dateipfaden zurück, gibt es einige Kompatibilität mit der Verwendung der falschen Schrägstriche.

FOR %%A IN ("%BRANCH%") DO IF NOT EXIST "%%~nxA\" MD "%~nxA"