syntaxfehler beim übergeben mehrerer variablen
Hallo,
ich habe ein kleines problem mit dem syntax beim variablen übergeben in eine andere Batch-datei.
Ich habe eine batch, dat1.bat, welche mehrere variablen an eine weitere, dat2.bat, übergeben soll. Ist es möglich dies über das programm start zu ermöglichen, sodass ich sie nicht in eine datei speichern und dann in der anderen batch wieder auslesen muss?
Bsp.:
::dat1.bat
Mit nur einer Variable ist es möglich! habe schon kombinationen mit & , ; | () versucht... hat nicht geklappt ;-(
::dat2.bat
Und muss ich hier setlocal delayedexpansions anwenden?
Ich möchte eigentlich in der dat2.bat die variable benutzen, verändern und dann wieder zurück an dat1.bat geben.
Ich habe windows vista, aber kein aktuelles update.
Danke schonmal im vorraus.
gruß, erik
ich habe ein kleines problem mit dem syntax beim variablen übergeben in eine andere Batch-datei.
Ich habe eine batch, dat1.bat, welche mehrere variablen an eine weitere, dat2.bat, übergeben soll. Ist es möglich dies über das programm start zu ermöglichen, sodass ich sie nicht in eine datei speichern und dann in der anderen batch wieder auslesen muss?
Bsp.:
::dat1.bat
@echo off
set a=1
set b=2
start dat2.bat %a% %b%
pause>1
::dat2.bat
@echo off
echo %a%; %b%
pause>2
Ich möchte eigentlich in der dat2.bat die variable benutzen, verändern und dann wieder zurück an dat1.bat geben.
Ich habe windows vista, aber kein aktuelles update.
Danke schonmal im vorraus.
gruß, erik
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70631
Url: https://administrator.de/contentid/70631
Ausgedruckt am: 17.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Erik,
also ich würde es mal so probieren:
dat1.bat:
Die dat2.bat sieht ein bisschen anders aus:
Die übergebene Variablen werden nacheinander mit %1-%n angesprochen. Sprich es gelten die Variablen von Batch A nicht automatisch in Batch B. Ausnahmen sind die Systemvariablen bzw. glob. Variablen.
So, nun hätten wir mal die Variablen im andern Batch zur Verfügung.
Grüße
Dani
also ich würde es mal so probieren:
dat1.bat:
@echo off
set a=1
set b=2
start dat2.bat %a% %b%
pause>1
@echo off
echo %1
echo %2
pause>2
So, nun hätten wir mal die Variablen im andern Batch zur Verfügung.
Ich möchte eigentlich in der dat2.bat die variable benutzen, verändern und dann wieder
zurück an dat1.bat geben.
Was genau möchtest du denn in die dat2.bat packen. Funktionen gibt es so nicht wie z.B. in C#!zurück an dat1.bat geben.
Grüße
Dani