Top-Themen

Aktuelle Themen (A bis Z)

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 1. Batch CALL mit for in 2. Batch Variable an 1. Batch übergeben.

Mitglied: florengray

florengray (Level 1) - Jetzt verbinden

27.02.2008, aktualisiert 28.02.2008, 20827 Aufrufe, 4 Kommentare

Hallo,
mal wieder ein Batch Problem:

Kurz gesagt ich habe eine Hauptbatch, die eine Variable per call an eine 2. Batch übergeben soll.
Das funktioniert. In der 2. Batch findet eine Art Vergleich statt. Da das mehere If Schleifen sind, wollte ich diese Abfrage in einer separaten Batch machen. (Zeit und Übersicht)

Also meine 1. Batch hat ne Variable %ASTC%. Dann wird die 2. Batch aufgerufen. (call) und %ASTC% übergeben.
Der Wert in %ASTC% wird nun mit einer Art Datenbank verglichen. Wenn der Wert von %ASTC% vorhanden ist, dann wird per for in eine neue Variable (%ASOP%) bis zu 6 versch. Werte nacheinander geschrieben.
Also %ASOP% hat dann z.B. den Wert UUU.
Der soll wieder an die 1. Batch übergeben werden.
Wenn die Berechnung in der 1. Batch fertig ist, dann soll %ASOP% in der 2. Batch einen neuen Wert annehmen.
Z.B. UUC. Der soll wieder an die erste Batch übergeben werden........

Aber das krieg ich nett hin.

Ich müsste theoretisch aus der 2. Batch per call die 1. wieder aufrufen. Aber das geht ja nett.
Ich hätte eine mehr als Umständliche Lösung, aber die kommt nicht in Frage, wenn meine Batch später mal an die 1000 Werte verarbeiten soll.

Habt ihr da ne Lösung?

Wahrscheinlich habe ich die Parameterübergabe nett kapiert!?

florengray
Mitglied: miniversum
27.02.2008 um 20:03 Uhr
Das ist ganz einfach. Du mußt garnichts zurück übergeben. Das was Du in der Batch 1 weiterverarbeiten willst hast du ja in der batch 2 in die Variable %ASOP% geschrieben.
Wenn du jetzt die Batch 2 beendest kannst du die Variable %ASOP% danach in Batch 1 ganz normal benutzen. Das funktioniert allerdings nur solange du in der Batch 2 kein setlocal am anfang benutzt
Bitte warten ..
Mitglied: florengray
27.02.2008 um 20:43 Uhr
Hallo,
hilft mir ein wenig.

Hauptbatch:
@echo off
call Subbatch.bat
echo %x%
pause

Subbatch:
@echo off
for %%a in (A B C D) do set x=%%a & goto :eof

Es soll in der Hauptbatch nacheinander A B C D ausgegeben werden.

Es ist aber nur ein A!
Dann nix mehr.
Logisch , weil ja die Subbatch beendet wurde.
Bitte warten ..
Mitglied: miniversum
28.02.2008 um 09:28 Uhr
Ja da muß die For Schleife dann in die Hauptbatch oder die ausgabe in die Subbatch. So in der Form kann das keine Programmiersprache.
Bitte warten ..
Mitglied: florengray
28.02.2008 um 22:59 Uhr
Hallo,
also ich hab jetzt ne Lösung:

Hauptbatch:
01.
@echo off 
02.
echo Hauptroutine:
03.
 
04.
for %%a in (A B C D) do set z=%%a& call :A
05.
echo ende Hauptroutine
06.
pause
07.
goto :eof
08.
 
09.
:A
10.
set x=%z%
11.
echo -%x%-
12.
pause
13.
call F:\Testbibo.bat %*
14.
echo ende Unteroutine
15.
echo Auswertung:
16.
for %%b in (%y%) do @echo %%b
17.
pause
18.
goto :eof
Unterroutine:
01.
@echo off 
02.
 
03.
if %x%==A goto A
04.
if %x%==B goto B
05.
if %x%==C goto C
06.
if %x%==D goto D
07.
 
08.
:A
09.
set y=1 2 3 4 
10.
goto :eof
11.
:B
12.
set y=4 3 2 1
13.
goto :eof
14.
:C
15.
set y=2 1 3 4
16.
goto :eof
17.
:D
18.
set y=3 4 2 1
19.
goto :eof
Ich hoffe es ist verständlich?

Aber dennoch ne Erklärung.

Wie schon erwähnt geht dieses "doppelte" aufrufen nicht.
Also musste ich jetzt die 2. for in die Hauptbatch schreiben.
Grund: Ich will ja alle Möglichkeiten ausgegeben haben.

Die 1. For kreiert mir nur ne paar mehr Möglichkeiten. Ist nicht zwingend erforderlich.
Es wird also jetzt die Variable x an die Unterroutine übergeben.
Dort findet der Vergleich statt. Dann werden alle Möglichkeiten in die Variable y geschrieben
und die Unterroutine beendet.
Diese 2. For wertet jetzt den Inhalt der y Variable aus und gibt mir, wie es eben eine For so tut, alle Möglichkeiten aus.

Eigentlich ganz einfach.

Wem´s hilft kann sich´s ja kopieren.

Schönen Abend noch

florengray
Bitte warten ..
Ähnliche Inhalte
Humor (lol)
Call Center
Frage von ukulele-7Humor (lol)10 Kommentare

Ich hatte eben einen eigentlich lustigen Anruf, wenn es mir dieses dummdreiste Getue nicht so auf den Nerv gehen ...

Netzwerkgrundlagen
2 Router 1 Switch 2 Netzwerke
gelöst Frage von axel123321Netzwerkgrundlagen12 Kommentare

Hallo zusammen, ich muss folgendes Netzwerk aufbauen: Also Router 01 ist an das Internet angeschlossen. Zugleich soll er das ...

Windows 7
2 Festplatten, 2 Betriebssysteme, 1 PC
gelöst Frage von ki-einheitWindows 74 Kommentare

Hallo, der Titel sagt ja schon etwas aus. Ich habe auf meinem PC 2 Betriebssysteme auf 2 Festplatten installiert ...

Windows Server
1 DHCP 2 Subnetze
Frage von technikdealerWindows Server5 Kommentare

Hay Ihr. Ich habe ein Server 2008 R2 mit konfigurierter Bereichsgruppierung. Ein Bereich der Gruppe hat 192.168.100.0 und der ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 3 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 4 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 7 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 7 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server23 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...

Windows Server
Kleine Umfrage: Windows Server Desktop oder Core?
Frage von doomfreakWindows Server18 Kommentare

Hey :) Ich wollte mal eine kleine Umfrage hier starten. Ich bin schon etwas länger auf dieser Seite hier ...

JavaScript
Javascript: WebSql
gelöst Frage von internet2107JavaScript17 Kommentare

Guten Morgen zusammen, zunächst einmal einen schönen dritten Advent. Ich habe ein Problem mit Javascript und WebSQL. Bisher habe ...

Microsoft
Lizenzplausibilisierung oder Spam?
Frage von lordimacMicrosoft14 Kommentare

Liebe Forengemeinde, uns erreichte die Tage eine Mail bezüglich einer Lizenzplausibilisierung durch einen Microsoft SAM Partner. Die Meldung im ...