batchanfaenger91
Goto Top

Variable von EIN.bat in ZWEI.bat aufrufen

Hi an alle,

meine Frage ist, ist es möglich eine gespeicherte Variable von ein Batch Datei in eine andere Batch Datei aufzurufen.

Ich habe ein Batch in dem die Standorte gezählt werden und in %count% gespeichert werden. Nun will ich das %count% in die neue Batch Datei aufrufen, ohne die lange Forschleife einzubauen.

Wäre hilfreich, wenn einer da mir weiterhelfen konnte.

Gruß

Content-ID: 288322

Url: https://administrator.de/forum/variable-von-ein-bat-in-zwei-bat-aufrufen-288322.html

Ausgedruckt am: 09.01.2025 um 23:01 Uhr

Snowman25
Snowman25 13.11.2015 um 14:11:36 Uhr
Goto Top
Hallo @BatchAnfaenger91,

erstellst du count in der anderen Datei? Oder hast du da nur stehen SET count = 1519?
in beiden Fällen wäre es einfacher, wenn du count in eine eigene Datei schreibst, die du später wieder lesen kannst.

Gruß,
@Snowman25
114757
114757 13.11.2015 aktualisiert um 14:30:57 Uhr
Goto Top
Moin.
Deine Variable kanst du ganz normal in deiner ersten Batch deklarieren und in der zweiten sofort abfragen wenn du deine zweite Batch mit
call "C:\deinezweitebatch.cmd"
aufrufst.

Andere Methode ist das Übergeben von Parametern an die zweite Batchdatei:
Erste Batch
@echo off
set "var=Hallo das ist ein Test"  
call "C:\zweiteBatch.cmd" "%var%"  
Zweite Batch
@echo off
echo Uebergebene Variable: %~1
Gruß jodel32
BatchAnfaenger91
BatchAnfaenger91 16.11.2015 um 16:46:13 Uhr
Goto Top
Hi Snowman25

ja die Variable %count% erstelle ich in die andere Batch Datei. Da sind viele Variablen deklariert. Ich will nur eine Variable in die neue Batchfile aufrufen.

Gruß

BatchAnfaenger91
BatchAnfaenger91
BatchAnfaenger91 16.11.2015 um 16:48:54 Uhr
Goto Top
Hi Jodel32

Danke erstnmal für diesen Ansatz, so habe ich es auch ausprobiert. Das Problem ist eher, dass ich nur eine Variable aufrufen will und so wie ich es sehe wird mit call ja die ganze Batchdatei aufgerufen. Gibt es eine Möglichkeit nur auf eine Variable zuzugreifen und die anderen zu ignoieren, da für das zweiteBatch die andere Variablen, bzw der Durchlauf der Forschleifen nicht relevant ist.

Gruß
Snowman25
Lösung Snowman25 16.11.2015, aktualisiert am 19.11.2015 um 11:08:44 Uhr
Goto Top
Hallo @BatchAnfaenger91,

nein, das geht so nicht.

Batch-Skripte sind "dumm". Die kannst du nur ausführen oder nicht ausführen. Etwas daraus extrahieren, ohne deine eigene Routine dafür zu schreiben, geht nicht.

Wie wäre es mit einem 3. Batch, welcher die Variablenwerte für die anderen 2 Batches hält?
Dann musst du nur am Anfang deiner Batches diese 3. Aufrufen, damit die Variablen gesetzt sind.

Gruß,
@Snowman25
114757
Lösung 114757 16.11.2015, aktualisiert am 19.11.2015 um 11:08:41 Uhr
Goto Top
setlocal und endlocal sind deine Freunde face-wink
http://ss64.com/nt/setlocal.html
Frexed
Lösung Frexed 16.11.2015, aktualisiert am 19.11.2015 um 11:08:38 Uhr
Goto Top
Hi BatchAnfaenger91 und andere,


Du könntest eine For-Schleife erstellen z.B.:

for /f %%f in (Dateiname) do ( echo %%f )


Grüße Frexed
BatchAnfaenger91
BatchAnfaenger91 19.11.2015 um 11:08:23 Uhr
Goto Top
Hi an alle und danke für eure Mühe,

ich denke auch das klappt nicht so einfach, habe zwar mit setlocal und endlocal (danke @114757) rumprobiert, bin aber nicht auf das richtige Ergebnis gekommen.

ich habe in die erste Batchdatei mehrere Parameter und Forschleifen und dachte mir, dass es vielleicht sinvoller wäre, die zweite Batch Datei mit der erste zu verknüpfen um die überschaulicher zu machen.

Aber ich komme auch mit den Ansatz von @Frexed voran.

danke erst mal, weitere Fragen gibt es im neuen Thread ;)

gruß