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

Wie kann eine Batch einen Ordner oder exe suchen und wie kann man 2 Batch zu einer Batch zusammenfügen?

Frage Entwicklung Batch & Shell

Mitglied: CHiLL3R

CHiLL3R (Level 1) - Jetzt verbinden

10.09.2014 um 13:08 Uhr, 1773 Aufrufe, 4 Kommentare

Hallo,
ich würde gerne etwas mit 2 Batch-dateien verwirklichen, die ich im Internet gefunden habe. Diese sind dafür gedacht, ein Spiel zu starten, dabei direkt auf den eingestellten Server zu connecten und dabei die gewünschten Startparameter auszuführen.
Ich habe 2 Gameserver und möchte es meinen Spielern etwas vereinfachen, auf unseren Servern zu spielen. Bei dem Spiel handelt es sich um Arma2, genauer gesagt um die Mod Epoch.
Was ich bisher erreicht habe:
Den Pfad für das/die Spiele manuell eintragen, doppelklick auf die Batch und man startet das Spiel mit den Startparametern für die entsprechende Mod.

Was ich erreichen möchte:
Die zwei unten aufgeführten Batch-Dateien zu einer zusammen führen, mit einem Auswahlmenu ob auf Server 1 oder Server 2 verbunden werden soll.
Den fest eingetragenen Pfad zur exe der Spiele (es muss Pfad zu Arma2 und Arma2 Operation Arrowhead aufgerufen werden) so umschreiben, das die Batch den PC selbstständig nach den exe bzw den Ordnern durchsucht. Es hat nun mal nicht jeder den selben Pfad auf seinem PC

Nun ist eben die Grundlegende Frage für mich, ob das überhaupt machbar ist. wenn ich Google bemühe, komme ich da nicht sehr weit, ich denke mal ich weiss gar nicht genau, nach was ich da googlen soll.

Ich habe auch schon mit Visual Basic herumexperimentiert, habe da aber das gleiche Problem, wie kann ich es erreichen, das die Ordner selbstständig gefunden werden...

Ich zeige hier mal die beiden Batch, die ich bisher zusammengeschustert habe:

01.
@echo off 
02.
set arma2oapath=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead 
03.
set arma2path=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 
04.
set IP= hier steht dann die Server-IP 
05.
set PORT=2302 
06.
set MODS=@DayZ_Epoch; 
07.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;" 
08.
@exit
01.
@echo off 
02.
set arma2oapath=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead 
03.
set arma2path=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 
04.
set IP= hier steht eine andere Server-IP wie im anderen Beispiel 
05.
set PORT=2302 
06.
set MODS=@DayZ_Epoch;@Modzusatz;@FunMod 
07.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;" 
08.
@exit
Die beiden Batch unterscheiden sich eigentlich nur in de rZeile "setIP=" und in der Zeile "set MODS="
Wie gesagt, Ziel ist es nun rauszufinden
Wie kann ich die beiden in einer Batch vereinen, mit Auswahlmöglichkeit Server A oder B starten
Wie muss ich das anstellen, das die Pfade nich manuell eingetragen werden müssen, sondern gesucht werden?

Wäre toll wenn mir dazu jemand bissl was erklären könnte oder mir jemand sagen könnte nach was ich suchen muss um weiter zu kommen.
Danke fürs lesen

Mit freundlichen Grüßen CH!LL3R
Mitglied: killtec
10.09.2014, aktualisiert um 13:48 Uhr
Hi,
du kannst eine Variable einlesen und die dann auswerten. Anhand der Auswertung (If- Abfrage) führst du dann den jeweiligen start befehl aus.

01.
rem Variable einlesen: 
02.
set /p var= 
03.
rem 
04.
rem Variable auswerten 
05.
if %var%==1 goto server1 
06.
if %var%==2 goto server 2

#edit könnte so klappen.:
01.
@echo off 
02.
set arma2oapath=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead 
03.
set arma2path=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 
04.
set IP= hier steht eine andere Server-IP wie im anderen Beispiel 
05.
set PORT=2302 
06.
echo Bitte Server waehlen. 
07.
set /p var= 
08.
if %var%==1 set MODS=@DayZ_Epoch;@Modzusatz;@FunMod 
09.
if %var%==2 set MODS=@DayZ_Epoch;  
10.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;" 
11.
@exit
Gruß
Bitte warten ..
Mitglied: CHiLL3R
10.09.2014, aktualisiert um 19:44 Uhr
Das sieht logisch und verständlich aus, bis auf eine Sache... die 2 Server haben ja auch verschiedenen IP-Adressen.
Wie kann ich das nu noch in die Abfrage der Variable mit kombinieren?
Also mit
01.
set /p var=  
02.
if %var%==1 set MODS=@DayZ_Epoch;@Modzusatz;@FunMod  
03.
if %var%==2 set MODS=@DayZ_Epoch;  
werden ja nur die verschiedenen Mods angewählt, aber nicht verschiedenen IPs...
Weil in Batch eins steht zb:
01.
set IP=123.456.789
während in Batch 2 steht:
01.
set IP=987.654.321
würde das denn so funktionieren?
01.
@echo off  
02.
set arma2oapath=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead  
03.
set arma2path=C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 
04.
echo Bitte Server waehlen.  
05.
set /p var=  
06.
if %var%==1 set IP=123.456.789 set PORT=2302 set MODS=@DayZ_Epoch;@Modzusatz;@FunMod 
07.
if %var%==2 set IP=987.654.321 set PORT=2302 set MODS=@DayZ_Epoch;    
08.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;"  
09.
@exit 
Und die Frage nach dem automatischen Suchen der passenden Pfaden komm ich nicht weiter...
Bitte warten ..
Mitglied: killtec
11.09.2014 um 08:04 Uhr
mit den Variablen sollte so passen.
deine Pfade solltest du in " setzen, könnte sonst sein, dass deine Variable nach c:\Program aufhört...
du könntest evtl. mit den Systemvariablen arbeiten. Ich denke mal das Valve\steam... ist immer gleich oder?
http://de.wikipedia.org/wiki/Umgebungsvariable
Ob ein System 32 oder 64 Bit ist kannst du auch abfragen.

01.
if %PROCESSOR_ARCHITECTURE% == AMD64 befehl... 
02.
if not %PROCESSOR_ARCHITECTURE% == AMD64 befehl...
Gruß
Bitte warten ..
Mitglied: CHiLL3R
11.09.2014 um 10:47 Uhr
Okay.. da muss ich mich nu erstmal reinfuchsen...
Also die Struktur ist zumindest ab Steam\SteamApps\common immer gleich, bei mir ist da noch ein Valve mit drin weil uralter Account, bei den neueren gibt es diesen "Zwischenordner" nicht mehr...
Bis jetzt bin ich zumindest mit deinem Gedankenanstoß mal soweit gekommen....
01.
@echo off 
02.
echo Buchstabe eingeben und mit Enter bestaetigen 
03.
echo. 
04.
echo Epoch (S)auerland spielen 
05.
echo. 
06.
echo Epoch (F)unServer spielen 
07.
echo. 
08.
echo Unsere (H)omepage besuchen 
09.
echo. 
10.
echo Unser (T)eamspeak besuchen 
11.
:Auswahl 
12.
set /P wahl=Bitte waehlen:  
13.
if /i "%wahl%"=="S" goto:Sauerland 
14.
if /i "%wahl%"=="F" goto:FunServer 
15.
if /i "%wahl%"=="H" goto:Homepage 
16.
if /i "%wahl%"=="T" goto:Teamspeak 
17.
echo Ungueltige Auswahl ! 
18.
goto:auswahl 
19.
 
20.
:Sauerland 
21.
set arma2oapath="C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead" 
22.
set arma2path="C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2" 
23.
set IP=xx.xxx.xxx.50 
24.
set PORT=2302 
25.
set MODS=@DayZ_Epoch; 
26.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;" 
27.
goto:eof 
28.
 
29.
:FunServer 
30.
set arma2oapath="C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2 Operation Arrowhead" 
31.
set arma2path="C:\Program Files (x86)\Valve\Steam\SteamApps\common\Arma 2" 
32.
set IP=xx.xxx.xxx.116 
33.
set PORT=2302 
34.
set MODS=@DayZ_Epoch;@Air;@CBA_CO;@F14;@mods; 
35.
start ""  "%arma2oapath%\ArmA2OA_BE.exe" 0 0 -skipintro -mod=%MODS% -noSplash -noFilePatching -world=empty -connect=%IP% -port=%PORT% "-mod=%arma2path%;expansion;" 
36.
goto:eof 
37.
 
38.
:Homepage 
39.
start http://www.administrator.de 
40.
goto:eof 
41.
 
42.
:Teamspeak 
43.
start ts3server://x.xxx.xxx.xx?port=9060 
44.
goto:eof
So wäre denn nun meine Hausaufgaben Variablen einzupflegen und (hätt ich gar nicht mehr dran gedacht) abzufragen ob 32er oder 64er System...
Mal sehen, was ich heute packe^^
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Ordner erstellen und verschieben (6)

Frage von Fromeonly zum Thema Batch & Shell ...

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

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

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

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...