Was bedeuten diese Zeilen(bat Datei)?


01.01.2020, 14:58

https://youtu.be/WJaYtwCVn1o

Daher habe ich meine "Methode".

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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?


Analphabet42 
Fragesteller
 01.01.2020, 15:12

Du meinst du komplette batch Datei neu schreiben? Ich habe sie nur runtergeladen und bearbeit...

0
GandalfAwA  01.01.2020, 15:19
@Analphabet42

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. 😊

1
Analphabet42 
Fragesteller
 01.01.2020, 15:30
@GandalfAwA

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!!!^^

0
GandalfAwA  01.01.2020, 15:37
@Analphabet42

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"

1
Analphabet42 
Fragesteller
 01.01.2020, 15:42
@GandalfAwA

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....🤷🏼‍♂️😂

0
Analphabet42 
Fragesteller
 01.01.2020, 15:44
@GandalfAwA

Und ich dachte ich hätte sowas hinter mir als ich system shock 2 installiert habe-.-

0
GandalfAwA  01.01.2020, 17:58
@Analphabet42

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. :-(

1
Analphabet42 
Fragesteller
 01.01.2020, 18:21
@GandalfAwA

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

1
GandalfAwA  01.01.2020, 18:24
@Analphabet42

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". 😊

1
Analphabet42 
Fragesteller
 01.01.2020, 18:32
@GandalfAwA

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

0
GandalfAwA  01.01.2020, 18:40
@Analphabet42

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)

1

Um das zu fixen einfach den Taskmanager ausführen(Strg + Shift + ESC), dann auf Datei -> Neuen Task ausführen und "explorer.exe" eingeben.


Analphabet42 
Fragesteller
 01.01.2020, 14:59

Danke!!!Das ist schonmal was wert!!!!

Nur leider komme ich damit beim.game noch nicht wieter:/

0
LuLuMaster12  01.01.2020, 15:02
@Analphabet42

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

1
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"
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Erzesel  01.01.2020, 21:30

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

0
GandalfAwA  02.01.2020, 15:37

Wow, das nenne ich mal einen "Ferrari" unter den Batch-Programmen. 😊 Programmierst Du noch andere Sprachen außer die Windows-Konsole?

0

Weil du den Task explorer.exe killst der soweit ich weiß dafür zuständig ist

Woher ich das weiß:eigene Erfahrung