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, 1804 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

mfG 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Microsoft
Im ordner nach dateien aus excel liste suchen (2)

Frage von tioloco zum Thema Microsoft ...

Batch & Shell
gelöst Batch aktuellsten Ordner kopieren (2)

Frage von MmarKuss zum Thema Batch & Shell ...

Batch & Shell
gelöst Win7-Batch - bestimmte Ordner in TEMP löschen (1)

Frage von jan99 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (6)

Frage von zelamedia zum Thema Internet Domänen ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...