32bit vs 64bit - Das Duell im Task-Scheduler

Dieser Artikel gilt für: Windows 7, Windows 8, Windows 8.1, Server 2008R2, Server 2012, Server 2012R2

Der Task-Scheduler ist ein sehr nützliches Tool für wiederkehrende Aufgaben, die man entweder nicht selbst ausführen möchte, oder nicht vergessen will. Wer schon einmal versucht hat, einen Scheduled Task explizit als 32bit oder 64bit aufzurufen, wird das Problem kennen: Ist es jetzt ein 32bit Task oder nicht? Und wie kann ich das ändern?

64bit - Der Standard

Befindet man sich auf einem 64bit-System, so ist jeder Task, der im Task-Scheduler gestartet wird, ein 64bit-Task. Das heißt, jede Kommandozeile, jede Batch-Datei, jedes VB-Skript, jede Java-Applikation wird erst einmal als 64bit-Anwendung gestartet.

Über die Variable %PROCESSOR_ARCHITECTURE% kann man in der Kommandozeile erkennen, ob diese als 32bit oder 64bit-Task gestartet ist:

Mit folgendem Trick kann man dies allerdings umgehen:

32bit - Und es geht doch!

Will man nun zum Beispiel eine Kommandozeile explizit als 32bit-Task starten, muss man die 32bit-Kommandozeile starten. Diese findet man unter: %windir%\SysWOW64\cmd.exe

Öffnet man diese, gibt %PROCESSOR_ARCHITECTURE% nun Folgendes aus:

Task-Scheduler 32bit:

Um nun eine 32bit-Kommandozeile über den Task-Scheduler zu starten, muss man folgende Konfiguration vornehmen:

Hier ist wichtig, dass bei Start in (optional) der Pfad %windir%\SysWOW64\ steht.

Nun muss man nur noch die Batch-Datei als Parameter übergeben und fertig ist der 32bit-Task.