Was bedeuten diese Zeilen(bat Datei)?
Ich habe eine batch Datei für AOE 2 damit die Grafikfehler behoben werden.
Was genau macht die Datei? In ihr steht:
@echo off
taskkill /f /IM explorer.exe
age2_x1.exe
start age2_x1.exe
Ich habe die Zeilen verändert und die exe der conquerors Erweiterung angegeben. Die Original-Zeilen waren:
@echo Off taskkill /f /IM explorer.exe
empires2.exe
start empires2.exe
Wenn ich jetzt die von mir modifizierte bat Datei ausführe, dann öffnet sich die cmd console und schreibt:
ERFOLGREICH: Der Prozess "explorer.exe" mit PID 2396 würde beendet.
Nach einer EWIGEN Wartezeit öffnet sich dann auch das Spiel mit gefixten Grafikfehlern, aber vorher in der Wartezeit verschwinden alle Icons und die Taskleiste vom Bildschirm. Wenn man das Spiel dann beendet hat man einen komplett leeren Bildschirm auf dem nur noch das Hintergrundbild zu sehen ist. Man kann dann zwar den Taskmanager starten aber es bringt nichts.
Könnt ihr mir helfen? Kennt ihr vlt eine simplere Methode die Grafikfehler zu beheben?(ein 7 32-bit)
Danke...
Daher habe ich meine "Methode".
4 Antworten
Hallo Analphabet,
Das Beenden der Explorer.exe hilft nicht bei jedem alten Spiel gleich gut. Ich würde das Script so schreiben:
taskkill /IM explorer.exe /F
"D:\Spiele\Mein Spiel\Spielname.exe"
pause
start explorer.exe
exit
Wenn das Spiel beendet ist, drückst Du in der Konsole einfach die Leertaste und dann startet der Explorer wieder.
PS: Eventuell hilft ja noch diese Anleitung hier? http://www.pcservice-sprengler.de/faqneu/index.php?action=artikel&cat=8&id=35&artlang=de
Ansonsten gibt es das Spiel ggf. bei Steam und ich meine es gab auch eine neue HD Version, die eventuell Win 10 kompatibel gemacht wurde?
Ja, genau. :-)
Am besten: Kopiere meine Zeilen oben in eine neue Textdatei, die Du als "Versuch2.cmd" abspeicherst. Danach änderst Du nur den Pfad zum Spiele-Ordner (kannst Du aus dem Windows Explorer oben rauskopieren).
Die Anführungszeichen nicht weglöschen, und dann ausprobieren ob es besser ist. :-)
PS: Danke für das Kompliment. 😊
Wenn ich jetzt Versuch2.cmd ausführe, bestehend aus den Zeilen:
taskkill /IM explorer.exe /F
"C:\ProgramFiles\Microsoft Games\Age of Empires ||\age2_x1.exe"
pause
start explorer.exe
exit
,dann wird in der ausgeführten cmd folgendes angegeben:
Der Befehl ""C:\ProgramFiles\Microsoft Games\Age of Empires ||\age2_x1.exe"" ist entweder falsch geschrieben oder könnte nicht gefunden werden.
Danke für deine Geduld mit mir!!!^^
Gibt es nicht einfach eine Patch Datei irgendwo online 😭
Hallo, kein Problem, Du bist ja kein Analphabet! 😁
Prüfe nochmal den Pfad, eventuell muss er so lauten?
"C:\Program Files (x86)\Microsoft Games\Age of Empires ||\age2_x1.exe"
Danke😅
Nope, ich habe den Dateipfad oben aus dem Explorer kopiert, und .exe hinzugefügt. Mein Programmpfad hat kein (x86)...
Jetzt bist wahrscheinlich auch du am Ende....🤷🏼♂️😂
Und ich dachte ich hätte sowas hinter mir als ich system shock 2 installiert habe-.-
Mit den alten Spielen ist es leider oft schwierig und mühselig.... Am einfachsten ist es da, wenn man es auf z.B. gog.com einfach nochmal neukaufen kann, die Spiele dort sind immer Win 10 tauglich.
Aber Age of Empires haben die dort leider nicht. :-(
Naja, ich hab jetzt eine Lösung...
Ich kann bei jedem Spielstart im Taskmanager Sie explorer.exe killen und dann nach dem zocken wieder starten...
Weißt du evtl wie man ein Programm schreiben kann dass:
Explorer.exe schließt->Das Spiel startet->wenn das Spiel beendet wird explorer.exe startet
Hallo, nimm einfach Deine erste Batch-Datei, die ja funktioniert hat und füge am schluss diese Zeilen ein:
pause
start explorer.exe
exit
Dann bleibt das schwarze fenster offen, und wenn Du das Spiel beendet hast, klickst Du mit der Maus in das schwarze Fenster und drückst eine beliebige Taste.
Dann geht der von der Pause auf den Befehl "start explorer.exe". 😊
Da ist immernoch ein Probleeem...
...
Naja...Ich habe wenn ich diese Batch.Datei ausführe immernoch eine ewige Wartezeit...
@echo off
taskkill /f /IM explorer.exe
age2_x1.exe
start age2_x1.exe
pause
start explorer.exe
exit
Kommt die lange Wartezeit nur, wenn Du diese Batch benutzt? Wenn ja, liegt es wohl daran, dass er die Datei erst suchen muss.
Eigentlich hatte ich Dir ja den Befehl genannt, der ohne Wartezeit wäre:
"C:\ProgramFiles\Microsoft Games\Age of Empires ||\age2_x1.exe"
Schau doch nochmal ob der Pfad einen Fehler hat. Zum Beispiel die Senkrechten Balken || müssen eventuell ein großes i sein also II statt || (Sonderzeichen)
Um das zu fixen einfach den Taskmanager ausführen(Strg + Shift + ESC), dann auf Datei -> Neuen Task ausführen und "explorer.exe" eingeben.
Danke!!!Das ist schonmal was wert!!!!
Nur leider komme ich damit beim.game noch nicht wieter:/
Dann kannst du es anders versuchen. Du startest das Spiel, wenn es gestartet ist drückst du "Alt + Tab" für Desktop. Dann schließt du mithilfe des Taskmanagers "explorer.exe" oder öffnest die Konsole von Windows und schreibst "taskkill /f /IM explorer.exe". Dann das Spiel wieder öffnen. Eig. sollte das gehen. Mfg
Nope, ich habe den Dateipfad oben aus dem Explorer kopiert, und .exe hinzugefügt...
hast Du garantiert nicht so kopiert:
"C:\ProgramFiles\Microsoft Games\Age of Empires ||\age2_x1.exe"
Pipezeichen || sind in Pfaden nicht erlaubt. Möglicherweise sind das zwei große "II" i's. Das macht einen gewaltigen Unterschied.
Da Du wohl den Pfad nicht selbst in die Batch einfügen kannst habe ich die Batch mit einer Automatik ausgestattet, welche selbständig die gewünschte Programmdatei sucht und ausführt...
Beim ersten start wird gesucht, dauert eine Weile... wurde die Programmdatei gefunden, wird der Pfad gespeichert. der nächste Start verläuft ohne erneute Suche.
Der Rest ist Pipifax der Explorer wird gekillt.
Dein Programm wird gestartet.
Die Console wartet, bist du eine Taste drückst (gegebenen Falls Consolfenster anklicken) , also du Dein Programm beendet hast...
Der explorer wird wieder gestartet...
mehr ist nicht...
@echo off
chcp 65001 >nul & rem Umlaute erlauben (Windows 10 und Win 7 Schriftart Consolas / Lucinda Console)
rem hier den Namen der gesuchten (Programm)datei einsetzen. Wildcards * und ? sind erlaubt.
set "program.search=age2_x1.exe"
::Suche und Config
rem alles automatisiert...
rem egal wie Du die Batch benennst, sie erkennt ihren eigenen Namen und Pfad
rem die cfg-datei im Temp-ordner hat bekommt den gleichen Namen
set "self=%~n0"
set "self.full=%~f0"
set "self.save_file=%temp%\%self%.cfg"
if exist "%self.save_file%" (
rem import variablen aud Datei (wenn vorhanden) , das geht schneller als bei jedem Start suchen)
for /f "usebackq delims=" %%a in ("%self.save_file%") do ( set "%%a")
goto :imported
)
rem suche Program auf c: und stoppe nach 1. Treffer.
echo Erster Start, Suche: %program.search%....
for /f "tokens=*" %%a in ('dir /b /s "c:/%program.search%" 2^>nul') do (
rem wenn gefunden, setze Variablen
rem voller Pfad
set "self.Program=%%~a"
rem Programmverzeichnis
set "self.Program.Path=%%~dpa"
rem ProgrammName
set "self.Program.Name=%%~nxa"
rem Dito aber 8.3 Verzeichnise und Namen
set "self.Program.sPath=%%~sdpa"
set "self.Program.sName=%%~snxa"
goto found
)
:found
rem wenn nichts gefunden wurde, ist auch keine Variable definiert , und ende...
if not defined self.Program (
echo "%program.search%" nicht gefunden!
timeout 5 >nul
exit /b
)
rem speichere relevante Variablen in cfg-file. Löschen der cfg Datei im Ordner %temp% aktiviert die erneute suche
set "self." >"%self.save_file%"
echo Daten gespeichert in "%self.full%".
:imported
rem ================== Ende der Such und config-Routine ==============
rem explorer killen
taskkill /f /im "explorer.exe"
rem macht im Prinip das Gleiche wie der Klick auf einen Shortcut!
rem /d "Arbeitsverzeichnis" "Programmname"
start "" /d "%self.Program.Path%" "%self.Program.Name%"
rem alternative Mit kurznamen bei vorheriger Zeile :: davor setzen und bie nächster Zeile :: entfernen
::start "" /d "%self.Program.sPath%" "%self.Program.sName%"
rem auf Tase warten
echo Beliebige Taste für den Neustart des Explorers drücken!
pause >nul
rem explorer starten
start "" "explorer.exe"
Wow, das nenne ich mal einen "Ferrari" unter den Batch-Programmen. 😊 Programmierst Du noch andere Sprachen außer die Windows-Konsole?
ps:
kleines Update:
::wie oben die suchroutine...
taskkill /f /im "explorer.exe"
start "" /wait /d "%self.Program.Path%" "%self.Program.Name%"
rem das warten übernimmt nun start selbst bis das Spiel beendet wird...
start "" "explorer.exe"
eigentlich egal...wie man es macht
Weil du den Task explorer.exe killst der soweit ich weiß dafür zuständig ist
Du meinst du komplette batch Datei neu schreiben? Ich habe sie nur runtergeladen und bearbeit...