Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

syntaxfehler beim übergeben mehrerer variablen

Frage Entwicklung Batch & Shell

Mitglied: erik87

erik87 (Level 1) - Jetzt verbinden

10.10.2007, aktualisiert 20:29 Uhr, 5229 Aufrufe, 4 Kommentare

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
01.
@echo off 
02.
set a=1 
03.
set b=2 
04.
 
05.
start dat2.bat %a% %b% 
06.
pause>1
Mit nur einer Variable ist es möglich! habe schon kombinationen mit & , ; | () versucht... hat nicht geklappt ;-(

::dat2.bat
01.
@echo off 
02.
echo %a%; %b% 
03.
pause>2
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
Mitglied: Dani
10.10.2007 um 19:56 Uhr
Hallo Erik,
also ich würde es mal so probieren:
dat1.bat:
01.
@echo off 
02.
set a=1 
03.
set b=2 
04.
 
05.
start dat2.bat %a% %b% 
06.
pause>1
Die dat2.bat sieht ein bisschen anders aus:
01.
@echo off 
02.
echo %1 
03.
echo %2 
04.
 
05.
pause>2
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.

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#!


Grüße
Dani
Bitte warten ..
Mitglied: bastla
10.10.2007 um 20:01 Uhr
Hallo erik87!

Eigentlich sollte dafür ein "call" genügen, also:
01.
@echo off 
02.
set a=1 
03.
set b=2 
04.
call dat2.bat 
05.
echo Wieder in dat1: %a%; %b%
Wenn Du in "dat2.bat" kein "setlocal" verwendest, kannst Du dort die Variablenwerte auch verändern:
01.
@echo off 
02.
echo In dat2: %a%; %b% 
03.
set a=0 
04.
set b=5
Grüße
bastla
Bitte warten ..
Mitglied: erik87
10.10.2007 um 20:17 Uhr
erstmal recht herzlichen dank,

hmm ja also ich, ist mir nen bischen peinlich.. aber ich hab den fehler gefunden warum es nicht ging mit den variablen übermitteln..

ich hatte

set %b%=2

geschrieben...

hmm also das geht soweit!
ich möchte jetzt, wo ich die variablen übergeben habe, sie durch rechnungen verändern und dann wieder zurückgeben.
Da das programm zu lang wird wollte ich es in einzelne programme aufteilen. So dass ich ein hauptprogramm habe (dat1) welches die eingaben vornimmt und dann weiterführende programme startet. Ihr müsst entschuldigen ich beschäftige mich erst seit 6 wochen mit batch.
und wisst ihr ob es eine math-funktion im batch gibt? ich habe nähmlich festgestellt das batch weitaus übersichtlicher ist wie c++ und somit könnte ich das ganze programm in batch schreiben.
Bitte warten ..
Mitglied: erik87
10.10.2007 um 20:29 Uhr
Ok , recht herzlichen Dank Bastla,
hab es hinbekommen!
man darf die 2. *.bat datei nicht mit exit beenden! Hmm, hätte ich eigentlich auch vorher drauf kommen können! Den rest bekomm ich dann glaub ich selber hin!

Noch mal vielen Dank für die schnellen Antworten!
Damit ist mein problem gelöst!

Gruß, erik
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
E-Mail
Mailinglisten mehrerer Domains

Frage von tobilektri zum Thema E-Mail ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst Variablen Zusammenbauen 2.0 ( Batch ) (6)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...