Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#17

Re: *.bat Datei wird nicht richtig ausgeführt

  Alt 12. Feb 2010, 10:31
Zitat von nahpets:
woher stammt das "Wissen", dass *.bat von COMMAND.COM ausgeführt wird?
Eigene Erfahrungen.
Es ist schon so, dass Windows normalerweise dem Kommandointerpreter cmd.exe den Vorzug gibt.
Man merkt das z.B. daran:
Code:
C:\>command.com /P
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.
Der Vdm-Redirector ist bereits geladen.

C:\>ver

Microsoft Windows XP [Version 5.1.2600]

C:\>
Obwohl command.com permanent geladen ist, wird dennoch cmd.exe ausgeführt.
Unter bestimmten Umständen(*) wird aber tatsächlich noch COMMAND.COM (MS-DOS Version 5.00.500!) angezogen.
*) Batchdatei ruft andere Batchdatei auf
Diese Umstände scheinen sich durch die Servicepacks verändert zu haben.
Ausserdem hängt es auch mit der Umgebungsvariable ComSpec zusammen.

Auf Windows 2000 sieht die Sache so aus:
Code:
C:\Dokumente und Einstellungen\Administrator>ver

Microsoft Windows 2000 [Version 5.00.2195]

C:\Dokumente und Einstellungen\Administrator>command.com
Befehl oder Dateiname nicht gefunden
VDM-IPX/SPX-Unterstützung kann nicht geladen werden.
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-1999.

C:\DOKUME~1\ADMINI~1>
Hier erkennt man den kurzen Pfadnamen, dass tatsächlich COMMAND.COM geladen wurde.
Auf "alten" Windowsversionen ist *.bat mit COMMAND.COM verknüpt.
Microsoft hätte bestimmt auch nicht *.cmd eingeführt, wenn dahinter nicht eine bestimmte Absicht stehen würde:
*.cmd verwendet immer cmd.exe, während *.bat ursprünglich auf COMMAND.COM verweist und später auf das neuere cmd.exe migriert wird.
Andreas
  Mit Zitat antworten Zitat