sotoshahin
Goto Top

Bat Aktuelle Datum Wiederherstellen nach dem Schließen der Programm Spiel .Exe Bitte um Hilfe!

Sehr Geehrte Admin und Admins,

Hallo ich Bin Soto ich habe mich heute neu hier angemeldet,
da ich eure Hilfe benötige der ich nicht weiter kommen kann, vielleicht könnt ihr mir helfen und dabei bin ich sicher Experten, das ihr mir helfen könnt =) ich glaub an euch so zu meine Frage...

Ich habe heute einen Skript erstellt es geht um Datum Zeit angaben der PC von Win 7 64 bit also in momentan stelle ich meine kleine Skript vor, ihr kennt sicherlich das Skript:

SET CUR_DATE=%DATE%

DATE 4/03/2020

Start "" "C:\Games\Rayman Gold \bin\Rayman.exe"  

Pause
DATE %CUR_DATE%

Diese Skript Funktioniert einwandfrei ja das Öffnet die Exe Game Spiel mit dem angegeben Wunsch Datum genau dass was ich erreichen wollte danach beim exe Schließen habe ich Pause eingefügt so das ich enter oder andere Taste drücken kann so das dann der Skript befehlt DATE %CUR_DATE% die Aktuelle Datum wiederherstellt also dass Ausführt.

So weit so gut,, so aber ich habe einen Ziel der Ziel ist: Ich möchte das diese Skript ohne Pause Funktion funktioniert so dass heißt wenn ich die Rayman.exe mit dem erstellten bat Skript starte so das der Rayman.exe Spiel Startet klar aber nach dem ich die Rayman.exe schließe so das die Datum dann von 4.02.2020 wieder auf Aktuellen Datum herstellt ohne Pause Funktion also ich hoffe sehr vom herzen ihr wisst was ich meine gibt es da einen anderen Befehl außer Pause Funktion.

Was kommt da oben für eine befehl dann rein.

Leider überall gesucht keine Möglichkeit gefunden darum habe ich mich hier gewendet weil ich nicht weiter komme.

Ich hoffe ihr Könnt mir helfen ich will jedenfalls nicht aufgeben und Skripten macht mir Spaß und gibt mir Verstärkung Ablenkung und ja wie gesagt zu meinem Ziel wenn ich Rayman.exe starte das der datum 4.02.2020 bleibt so fern ich aber die Rayman.exe game schließe das dann der Datum automatisch auf Aktuellen zustand wiederherstellt ohne Pause Funktion Befehl. Ich hoffe sehr ihr Könnt mir helfen.

Liebe grüße

Content-ID: 4091144537

Url: https://administrator.de/contentid/4091144537

Ausgedruckt am: 04.12.2024 um 08:12 Uhr

4091525239
4091525239 28.09.2022 aktualisiert um 17:15:40 Uhr
Goto Top
start "" /wait "C:\Games\Rayman Gold \bin\Rayman.exe"
Mit call geht es auch
call "C:\Games\Rayman Gold \bin\Rayman.exe"
oder einfach nur
"C:\Games\Rayman Gold \bin\Rayman.exe"
https://ss64.com/nt/start.html

Aber, das funktioniert aber alles nur sofern die EXE sich nach dem Start nicht direkt wieder selbst beendet und nur als Starter des Programms dient. Wenn das der Fall ist wird eine Prüfung der laufenden Prozesse in Schleife stattfinden müssen.

Paddel
SotoShahin
SotoShahin 28.09.2022 um 17:33:24 Uhr
Goto Top
Hallo Paddel,

Ja, ich habe es getestet Gerade die Batch Skript es soll so aussehen wie ich es denke oder

Also so:

SET CUR_DATE=%DATE%

DATE 4/03/2020

start "" /wait "C:\Games\Rayman Gold \bin\Rayman.exe"  

DATE %CUR_DATE%

Ich habe es eingefügt das Problem ist das der Zwar die Rayman.exe Startet, ja dann wieder sofort zum Aktuellen 28.09.2022 Springt. Leider ist das nicht der Ziel.

Was ich will ist das der Rayman.exe Startet und 4.02.2020 bleibt so bald ich das Rayman.exe also das Spiel ich selber Schließe das dann die Aktuelle datum erscheint 28.09.2022
4091525239
Lösung 4091525239 28.09.2022 aktualisiert um 17:58:35 Uhr
Goto Top
Dann siehe mein Kommentar oben, die EXE bei dir wohl nur ein Starter sein der sich sofort wieder beendet und eine andere EXE startet. Also musst du dann stattdessen mit einer Schleife arbeiten. Dazu musst du aber erst mal im Prozess Explorer die eigentliche EXE ausmachen welche während dem Spiel dauerhaft läuft.

Hast du den ermittelt kannst du sowas machen (Den Prozessnamen in Zeile 3 musst du dann anpassen)

@echo off
set "prog=C:\Games\Rayman Gold\bin\Rayman.exe"  
set "exe=longrunning_process.exe"  
set CUR_DATE=%DATE%
DATE 4/03/2020
start "" "%prog%"  
timeout /t 5 >nul

:loop
echo Waiting for %exe% to terminate
timeout /t 1 >nul
tasklist /FI "IMAGENAME eq %exe%" | find /i "%exe%" >nul || goto :ende  
goto :loop

:ende
DATE %CUR_DATE%
MirkoKR
MirkoKR 28.09.2022 um 17:52:58 Uhr
Goto Top
Hi

Zitat von @SotoShahin

Diese Skript Funktioniert einwandfrei ja das Öffnet die Exe Game Spiel mit dem angegeben Wunsch Datum genau dass was ich erreichen wollte danach beim exe Schließen habe ich Pause eingefügt so das ich enter oder andere Taste drücken kann so das dann der Skript befehlt DATE %CUR_DATE% die Aktuelle Datum wiederherstellt also dass Ausführt.


Ich gehe jetzt zu deinen Gunsten davon aus. das das der Übung für Datum/Zeit in Scripts ist ...

... und nicht etwa der Umgehung von Lizenzgrenzen - sprich das das Spiel mit aktuellem Datum nicht mehr lizenziert ist und deshalb mit älterem Datum oder Installationsdatum plus Testfrist gestartet werden muss ...

Letzteres dürfte hier nach Forum-Regeln nämlich gar nicht unterstützt werden!

;- )
SotoShahin
SotoShahin 28.09.2022 um 18:04:14 Uhr
Goto Top
Nein nein das hat mit Lizenzen nichts zu tun, ich will nur als rein Übung und Erfahrung Sammeln die es wirklich
für mich auch wichtig ist, dass mich auch sehr arg Interessiert das Spiel habe ich sogar gekauft =) weil ich und mein Freundin das Gerne Spielen nur halt die Entsprechende Datum als rein Interesse ändern will Möchte
SotoShahin
SotoShahin 28.09.2022 um 18:31:40 Uhr
Goto Top
Hallo Paddel das Skript

auch Probiert

@echo off
set "prog=C:\Games\Rayman Gold\bin\Rayman.exe"  
set "exe=Rayman.exe"  
set CUR_DATE=%DATE%
DATE 4/03/2020
start "" "%prog%"  
timeout /t 5 >nul

:loop
echo Waiting for %exe% to terminate
timeout /t 1 >nul
tasklist /FI "IMAGENAME eq %exe%" | find /i "%exe%" >nul || goto :ende  
goto :loop

:ende
DATE %CUR_DATE%

Fast aber das Problem ist das es nach 1 Sekunde wieder die Aktuelle Datum automatisch Wiederherstellt leider nicht während ich Manuel das Rayman.exe Schließe woran kann das liegen? Habe ich da was falsch eingegeben oder muss ich das Timeout verlängern?
4091525239
Lösung 4091525239 28.09.2022 aktualisiert um 18:36:17 Uhr
Goto Top
Habe ich da was falsch eingegeben oder muss ich das Timeout verlängern?
Meine Kommentare bitte aufmerksam und vollständig lesen, du hast das wichtigste überlesen!! Du verwendest für den Start und die Überprüfung die gleiche EXE das funktioniert so nicht weil sich ja die erste nach dem Start sofort wieder beendet ...
Zitat von mir:
Dazu musst du aber erst mal im Prozess Explorer die eigentliche EXE ausmachen welche während dem Spiel dauerhaft läuft.

Der erste Timeout muss nur verlängert werden wenn bis dahin die andere Programm-EXE noch nicht läuft!
SotoShahin
Lösung SotoShahin 28.09.2022 aktualisiert um 18:57:41 Uhr
Goto Top
Hallo Paddel, Du hast recht habe gerade so gemacht die Anweisung genauer gelesen jetzt,
habe ich es verstanden.

Habe die Time-out verlängert beide auf 10 und dann die Prozessorname der .exe gefunden

End Ergebnis... Skript Batch Dank Paddel Ist:

@echo off
set "prog=C:\Games\Rayman Gold\bin\Rayman.exe"  
set "exe=rayman-gold.exe" <<< ist die Prozessorname  
set CUR_DATE=%DATE%
DATE 4/03/2020
start "" "%prog%"  
timeout /t 10 >nul

:loop
echo Waiting for %exe% to terminate
timeout /t 10 >nul
tasklist /FI "IMAGENAME eq %exe%" | find /i "%exe%" >nul || goto :ende  
goto :loop

:ende
DATE %CUR_DATE%

Die Ergebniss es Funktioniert Du bist echt Super Paddel und bin dir Sehr dankbar ich werde das als Übung sehen und auch genau so wie du Expert Irgendwann sein und werde Lernen Lernen nochmals Lernen danke dir sehr Administrator Forum ihr seid die Besten ihr seid die Besten face-smile

Ein Großen Dank an Paddel und Lieben Dank für die Große Mühe und Zeit für mich genommen hast =)