Zum Inhalt springen

Batchdatei mit Untersprungmarken


Lightwave

Empfohlene Beiträge

Hallo Zusammen,

verlange ich von Batch zuviel wenn ich möchte, daß in einem Untereinsprungspunkt per GOTO weitere Untereinsprungspunkte aufgerufen werden ?

Konkret habe ich folgende Batchdatei:

@echo off 

IF "%1"=="CreateProject" (

GOTO CreateProject ) ELSE ( GOTO Nichts )







:CreateProject


goto Schritt1

goto Schritt2


:Schritt1



echo Schritt1



:Schritt2



echo Schritt2




:Schritt3


echo Schritt3




:Nichts

Wenn ich nun aber in CreateProject hineinspringe, sehe ich trotzdem alle 3 Ausgaben. Ich möchte einen Einsprungspunkt haben, der alle anderen Einsprungspunkte aufruft. Möchte diese aber auch einzelnd verwenden können.

Vielen Dank

Gruß

Andi

Edit: Arg sorry. Falsche Kategorie. Da ich es nicht selbst verschieben kann, hoffe ich es tut noch jemand :)

Bearbeitet von Lightwave
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du solltest am Ende einer "Funktion" eine entsprechende GOTO-Anweisung auf ":Nichts" setzen, weil sonst die nachfolgende Funktion mit abgearbeitet wird.

Beispiel:


@echo off 

IF "%1"=="CreateProject" ( GOTO CreateProject ) ELSE ( GOTO Nichts )


:CreateProject

goto Schritt1

goto Nichts


:Schritt1

echo Schritt1

goto Nichts


:Schritt2

echo Schritt2

goto Nichts


:Nichts

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi ,

grundsätzlich gebe ich dir recht. Es löst zwar mein Problem - macht aber ein wesentlich größeres damit auf.

Nachdem ich in CreateProject hineingesprungen bin wird jetzt logischerweisse nurnoch Schritt1 ausgeführt. Ich möchte aber, daß beide Schritte hintereinander ausgeführt werden - Modularisierung soz.


:CreateProject


goto Schritt1

goto Schritt2

goto Nichts

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Ganze wird schon ziemlich komplex, aber du könntest am Anfang der Batch (insofern das ganze nicht vollautomatisch sein soll) das ganze mit einer Variable die du am Anfang der Batch eingibst lösen... Aber das ganze wird recht komplex und ich bekomm es nun auf die schnelle nicht wieder aus dem kopf zusammen.. Die Möglichkeit besteht allerdings, und es gibt gute Tutorials dafür.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
Du solltest am Ende einer "Funktion" eine entsprechende GOTO-Anweisung auf ":Nichts" setzen, weil sonst die nachfolgende Funktion mit abgearbeitet wird.

Beispiel:


@echo off 

IF "%1"=="CreateProject" ( GOTO CreateProject ) ELSE ( GOTO Nichts )


:CreateProject

goto Schritt1

goto Nichts


:Schritt1

echo Schritt1 - Subroutine wird als nächstes ausgeführt

call :Subroutine

echo Subroutine wurde ausgeführt, weiter gehts ins "nichts"

goto Nichts


:Schritt2

echo Schritt2

goto Nichts


:SubRoutine

echo hier die Subroutine, anschließend wird zurückgesprungen.

goto :eof


:Nichts

exit

Habe deinen Code mal entsprechend den Wünschen angepasst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...