Batch-Datei: Mehrmals Text verändern und dann noch weiter ausführen
Batch-Datei mit mehreren Aktionen, u.a. Text ersetzen, dann anderes Programm starten
Hallo zusammen,
ich weiss, dass vor allem Biber jetzt wohl stöhnen wird. Ich hab ja bereits ein wenig gesucht, so ist es nicht, aber nicht wirklich Hilfe gefunden. Zudem bin ich Anfänger in der Programmierung von Batch-Dateien (zweites kollektives Stöhnen? ), und blick nicht wirklich durch.
Worum es geht:
Ich spiele bei einem Online-Spiel mit. Für dieses habe ich zwei Accounts, nur einer ist jeweils in der player.ini verankert - je nachdem, was zuletzt als Login feststand. Ich möchte, statt das jedes Mal per Hand im Login-Fenster neu eingeben zu müssen, also per Knopfdruck Account-Name 1 und Passwort 1 durch Account-Name 2 und PW 2 ersetzen lassen, und umgekehrt, je nachdem, welche Bat ich starte.
Der Umweg über rename und copy (also Dateientausch direkt, zwei .ini durch ein temp-Verzeichnis) wäre, soviel hab ich verstanden, furchtbar kompliziert. Den Batch Replacer hab ich mir angesehen, der lässt aber nur eine Änderung der Datei in eine Richtung zu. Zudem muss ich den manuell bedienen und wohl auch beenden, und dann soll die Batch-Datei ja auch weiterlaufen - das Spiel eben per directconnect starten.
Ersetzt werden müsste jedes Mal Name, evtl. Email und Passwort.
Player Name=Name
Email=Email
Password=passwort
Danach soll er "im Text weitermachen", sprich, das Spiel starten, die Logs sichern. All das, was er jetzt auch tut.
Könnt Ihr mir, bei aller Nerverei durch eben diese recht ähnlichen Fragen, bitte helfen?
Das wäre grossartig.
Vielen Dank im Voraus,
Cat
PS: Und ja, ich bin zwar eine Frau, aber ich geb ein Feedback ab, Biber, versprochen ;)
Egal, wie die Antwort ausfällt.
Hallo zusammen,
ich weiss, dass vor allem Biber jetzt wohl stöhnen wird. Ich hab ja bereits ein wenig gesucht, so ist es nicht, aber nicht wirklich Hilfe gefunden. Zudem bin ich Anfänger in der Programmierung von Batch-Dateien (zweites kollektives Stöhnen? ), und blick nicht wirklich durch.
Worum es geht:
Ich spiele bei einem Online-Spiel mit. Für dieses habe ich zwei Accounts, nur einer ist jeweils in der player.ini verankert - je nachdem, was zuletzt als Login feststand. Ich möchte, statt das jedes Mal per Hand im Login-Fenster neu eingeben zu müssen, also per Knopfdruck Account-Name 1 und Passwort 1 durch Account-Name 2 und PW 2 ersetzen lassen, und umgekehrt, je nachdem, welche Bat ich starte.
Der Umweg über rename und copy (also Dateientausch direkt, zwei .ini durch ein temp-Verzeichnis) wäre, soviel hab ich verstanden, furchtbar kompliziert. Den Batch Replacer hab ich mir angesehen, der lässt aber nur eine Änderung der Datei in eine Richtung zu. Zudem muss ich den manuell bedienen und wohl auch beenden, und dann soll die Batch-Datei ja auch weiterlaufen - das Spiel eben per directconnect starten.
Ersetzt werden müsste jedes Mal Name, evtl. Email und Passwort.
Player Name=Name
Email=Email
Password=passwort
Danach soll er "im Text weitermachen", sprich, das Spiel starten, die Logs sichern. All das, was er jetzt auch tut.
Könnt Ihr mir, bei aller Nerverei durch eben diese recht ähnlichen Fragen, bitte helfen?
Das wäre grossartig.
Vielen Dank im Voraus,
Cat
PS: Und ja, ich bin zwar eine Frau, aber ich geb ein Feedback ab, Biber, versprochen ;)
Egal, wie die Antwort ausfällt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 51339
Url: https://administrator.de/contentid/51339
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo CrazyCat und willkommen im Forum!
Verstehe ich es so richtig, dass sich die beiden Konten nur durch die 3 angegebenen Zeilen in einer einzigen ini-Datei unterscheiden, oder gibt es (je nach Spielstand etc) in den .ini-Dateien auch andere Änderungen zu berücksichtigen? Hintergrund der Frage: Wenn der Rest der .ini konstant ist, genügten eigentlich 2 "Vorlagen", von denen die jeweils Benötigte in den Spiele-Ordner kopiert würde.
Grüße
bastla
P.S.: Ich wüsste übrigens nicht, was die Tatsache, dass Du eine Frau bist (was übrigens ohne Deinen dezenten Hinweis noch nicht einmal aus Deinem Profil abzuleiten gewesen wäre), hier für eine Rolle spielen sollte ...
Verstehe ich es so richtig, dass sich die beiden Konten nur durch die 3 angegebenen Zeilen in einer einzigen ini-Datei unterscheiden, oder gibt es (je nach Spielstand etc) in den .ini-Dateien auch andere Änderungen zu berücksichtigen? Hintergrund der Frage: Wenn der Rest der .ini konstant ist, genügten eigentlich 2 "Vorlagen", von denen die jeweils Benötigte in den Spiele-Ordner kopiert würde.
Grüße
bastla
P.S.: Ich wüsste übrigens nicht, was die Tatsache, dass Du eine Frau bist (was übrigens ohne Deinen dezenten Hinweis noch nicht einmal aus Deinem Profil abzuleiten gewesen wäre), hier für eine Rolle spielen sollte ...
ich würde es ähnlich wie hier machen:
Mit Batch Scriptzeile in .txt ändern.
entweder eine Batch anlegen die fragt ob Spieler 1 oder 2 genommen werden soll udnd ann eben per echo die Daten von 1 bzw. 2 in eine Player.ini schreiben und den Rest dranhängen, wenn der immer gleich ist. Danach das Spiel starten.
Oder halt 2 batches schreiben, für jeden Spieler eine.
Alternativ eben das jedesmalige hin udn her kopieren vershciedener Player.ini's. ich weiß nicht was daran so schwierig sein sollte wenn du es in der Form machst:
Für den Zweiten Spieler entsprechend. Dann hast du 2 batches, bzw. i mit auswahl und das wars.
miniversum
Mit Batch Scriptzeile in .txt ändern.
entweder eine Batch anlegen die fragt ob Spieler 1 oder 2 genommen werden soll udnd ann eben per echo die Daten von 1 bzw. 2 in eine Player.ini schreiben und den Rest dranhängen, wenn der immer gleich ist. Danach das Spiel starten.
Oder halt 2 batches schreiben, für jeden Spieler eine.
Alternativ eben das jedesmalige hin udn her kopieren vershciedener Player.ini's. ich weiß nicht was daran so schwierig sein sollte wenn du es in der Form machst:
copy c:\spieler1\player.ini c:\spiel\player.ini
c:\spiel\spiel.exe
copy c:\spiel\player.ini c:\spieler1\player.ini
c:\spiel\spiel.exe
copy c:\spiel\player.ini c:\spieler1\player.ini
Für den Zweiten Spieler entsprechend. Dann hast du 2 batches, bzw. i mit auswahl und das wars.
miniversum
[Kommentar inzwischen obsolet..
Nur weil ich es schon fertig getippt hatte... habe inzwischen auch CrazyCat's Antwort gelesen]
Moin CrazyCat,
ich würde mich bastla und miniversum anschliessen, was die Strategie angeht.
Ein dateiweises Austauschen ist mit Batch einfacher als ein zeilenweises/wortweises Ersetzen in einer Datei.
Für mich ist das ein Szenario mit 3, maximal 5 Dateien, die im Spiel sind.
Angenommen, Deine Accounts heißen "CrazyCat" und "EvenCrazierCat", dann hättest Du:
- eine Profil.ini von letzten Spiel, in der eintweder der eine ohne andere Account steht.
- und Du kannst Dir eine Account1.ini und eine Account2.ini basteln als Vorlage für jeden der beiden Spielerinnen-Namen.
- Datei 4 und 5, die ich sicherheitshalber vorsehen würde, sind die jeweils letzten aktuellen Sicherungen der funktionierenden Profil.ini
Damit wäre eine grobe Skizze für den Spiel-Start-Batch:
Ob es Sinn macht, die "...Vorlage.ini"s mitzuschleppen, weiß ich nicht.
Aber ich würde auf jeden Fall die letzten funktionierenden Profil.inis verwenden, weil dort vielleicht bei neueren Onlinespiel-Versionen neuere Einträge hinzukommen.
Gruss Biber
Nur weil ich es schon fertig getippt hatte... habe inzwischen auch CrazyCat's Antwort gelesen]
Moin CrazyCat,
ich würde mich bastla und miniversum anschliessen, was die Strategie angeht.
Ein dateiweises Austauschen ist mit Batch einfacher als ein zeilenweises/wortweises Ersetzen in einer Datei.
Für mich ist das ein Szenario mit 3, maximal 5 Dateien, die im Spiel sind.
Angenommen, Deine Accounts heißen "CrazyCat" und "EvenCrazierCat", dann hättest Du:
- eine Profil.ini von letzten Spiel, in der eintweder der eine ohne andere Account steht.
- und Du kannst Dir eine Account1.ini und eine Account2.ini basteln als Vorlage für jeden der beiden Spielerinnen-Namen.
- Datei 4 und 5, die ich sicherheitshalber vorsehen würde, sind die jeweils letzten aktuellen Sicherungen der funktionierenden Profil.ini
Damit wäre eine grobe Skizze für den Spiel-Start-Batch:
@Echo off & setlocal
REM Feststellen und Anzeigen, was aktuell in der profil.ini steht...
Findstr /i /c:"Player Name=CrazyCat" cat\profil.ini>nul && Set "last=CrazyCat" && echo Aktuelles Profil ist CrazyCat
Findstr /i /c:"Player Name=EvenCrazierCat" cat\profil.ini>nul && Set "last=EvenCrazierCat" && echo Aktuelles Profil ist EvenCrazierCat
Set /p ChgProfile="Profil [0=so lassen 1=CrazyCat_last" 2=CrazyCat_Vorlage 3=EvenCrazierCat_last 4=EvenCrazierCat_Vorlage]"
if [%ChgProfile%]== goto :eof
:: sonst: letztes Profil sichern
If [%last%] NEQ copy /y cat\profil.ini cat\%last%_last.ini
if [%ChgProfile%]==[1] copy /y cat\CrazyCat_last.ini cat\profil.ini
if [%ChgProfile%]==[2] copy /y cat\CrazyCat_Vorlage.ini cat\profil.ini
if [%ChgProfile%]==[3] copy /y cat\EvenCrazierCat_last.ini cat\profil.ini
if [%ChgProfile%]==[4] copy /y cat\EvenCrazierCat_Vorlage.ini cat\profil.ini
...
...Start_des_Onlinespiels
Ob es Sinn macht, die "...Vorlage.ini"s mitzuschleppen, weiß ich nicht.
Aber ich würde auf jeden Fall die letzten funktionierenden Profil.inis verwenden, weil dort vielleicht bei neueren Onlinespiel-Versionen neuere Einträge hinzukommen.
Gruss Biber
Prima, CrazyCat,
ich hatte auch schon (wahrscheinlich genau wie miniversum und bastla) vor einer Stunde überlegt,
ob ich nochmal beim lauten Überlegen helfe oder ob Du es allein zum Fliegen bekommst...
Ich war auch ganz zuversichtlich, dass Du es allein gebacken bekommst - zu Recht, wie zu sehen ist.
Dann werde ich den Beitrag jetzt guten Gewissens schliessen.
Schönen Sonntag noch und Danke an alle
Biber
ich hatte auch schon (wahrscheinlich genau wie miniversum und bastla) vor einer Stunde überlegt,
ob ich nochmal beim lauten Überlegen helfe oder ob Du es allein zum Fliegen bekommst...
Ich war auch ganz zuversichtlich, dass Du es allein gebacken bekommst - zu Recht, wie zu sehen ist.
Dann werde ich den Beitrag jetzt guten Gewissens schliessen.
Schönen Sonntag noch und Danke an alle
Biber