2017-04-27 4 views
0

Wie überspringe ich einen Ordner von git checkout mit Batch. Das ist meine Batch-Datei. Ich habe 35 Ordner. Ich möchte jedoch keinen bestimmten Ordner auschecken. Ich muss die Kasse für diesen Ordner überspringen.So überspringen Sie einen Ordner von git checkout mit Batch

+0

Gleich zu Beginn des Skripts Sie haben 'gesetzt Projekt =% 1 ', aber dann ist es nicht in Ihrem Code verwenden. Soll man damit "CD's machen"? oder soll es komplett entfernt werden? – Compo

+0

@Compo: Es ist vollständig entfernt werden. –

Antwort

0

Leider haben Sie Ihren Code über-zensiert, so dass es schwierig ist, genau festzustellen, was Ihr Problem ist. Sie sagen auch nicht, was es tut, dass es nicht tun oder nicht tun sollte.

Wir müssen Annahmen machen, die immer gefährlich sind.

So ist die eklatante Problem mit dem Code, den Sie geschrieben haben, ist, dass if sehr wörtlich ist, und die beiden Argumente genau sein muss die gleiche gleich erklärt werden.

Daher

if %%f == "folder_name_that_I_want_to_skip_as_string" 

sollte

if "%%f" == "folder_name_that_I_want_to_skip_as_string" 

oder

if /I "%%f" == "folder_name_that_I_want_to_skip_as_string" 

sein, wenn Sie den Vergleich zu Groß- und Kleinschreibung wollen.

Da Ihnen der genaue Inhalt von %%f bekannt ist, wie sie angezeigt werden, nehme ich an, dass die Zeichenfolgen übereinstimmen, außer für die Anführungszeichen.

+0

%% f ist eine Variable und ich dachte, %% f sollte den Namen des Ordners während der Iteration halten. –

+0

Ich werde versuchen, die Zitate zu entfernen. Ich habe versucht, die Zitate zu entfernen, aber das war auch nicht hilfreich. –

+0

Wie wäre es, wenn ich "%% f" in Anführungszeichen in der "if" -Anweisung vorschlage und umschließe? – Magoo

0

Eine strukturelle Rewrite:

@Echo Off 

Call :ThisIsWhereItHappens 

GoTo :EOF 

:ThisIsWhereItHappens 
For /D %%A In (*) Do (
    If /I Not "%%A"=="DirectoryNameString" (
     PushD "%%A" 
     Echo current project: 
     Echo %%A 
     Echo : git checkout release_branch 
     git checkout release_branch 
     Echo ------------------------------------------------------------- 
     PopD 
    ) Else Echo Skipped 
) 
Pause 
Verwandte Themen