{"id":9,"date":"2015-03-10T11:42:19","date_gmt":"2015-03-10T10:42:19","guid":{"rendered":"http:\/\/blog.dtp-soft.de\/?p=9"},"modified":"2015-05-13T13:28:22","modified_gmt":"2015-05-13T11:28:22","slug":"batch-erkennen-der-windows-archtektur","status":"publish","type":"post","link":"http:\/\/dtp-soft.de\/?p=9","title":{"rendered":"Batch: Erkennen der Windows-Archtektur"},"content":{"rendered":"<p><strong>Da es manchmal doch vorkommt, dass man f\u00fcr die ein oder andere Aufgabe ganz gerne noch eine Batch-Datei einsetzt, ist es ganz hilfreich, wenn man darin unterscheiden kann, zwischen 32bit und 64bit. Daf\u00fcr habe ich zwei Methoden gefunden, die unterschiedlich genau sind.<\/strong><!--more--><\/p>\n<h2>Kurz aber etwas ungenauer<\/h2>\n<p>Mit diesem einfachen Aufruf kann man schnell zwischen 32bit und 64bit unterscheiden:<\/p>\n<pre class=\"lang:batch decode:true\" title=\"kurze Erkennung\">IF EXIST \"%PROGRAMFILES(X86)%\" (GOTO 64BIT) ELSE (GOTO 32BIT)<\/pre>\n<p>Es wird nur gepr\u00fcft, ob es ein Verzeichnis f\u00fcr Programme (x86) gibt. Das ist normalerweise ein guter Hinweis, dass es ein x64-System ist.<\/p>\n<h2>Genauer aber l\u00e4nger<\/h2>\n<p>Dieser Ansatz ist etwas l\u00e4nger und ber\u00fccksichtigt zus\u00e4tzlich die M\u00f6glichkeiten, dass die Batch-Datei unter MS DOS oder in einer 32bit Konsole auf einem 64bit System gestartet wurde (WOW-Modus).<\/p>\n<pre class=\"lang:batch decode:true  \" title=\"l\u00e4ngere Erkennung\">@REM Die Datei kernel32.ddl sollte auf jedem Windows-System vorhanden sein\r\nif not exist \"%SystemRoot%\\System32\\kernel32.dll\" GOTO DOS\r\n\r\n@REM Auf Win32-Systemen sollte es den Ordner SysWOW64 nicht geben\r\nif not exist \"%SystemRoot%\\SysWOW64\\kernel32.dll\" GOTO WIN32\r\n\r\n@REM Wenn die kernel32.dll im Verzeichnis System32 und SysWOW64 gleich \r\n@REM   gross sind, ist System32 wahrscheinlich nur ein Redirect auf den \r\n@REM   WOW-Ordner. Dann l\u00e4uft die Konsole im 32bit-Modus unter 64bit Windows.\r\nfor %%I in (\"%SystemRoot%\\SysWOW64\\kernel32.dll\") do (\r\n   for %%J in (\"%SystemRoot%\\System32\\kernel32.dll\") do (\r\n      if \"%%~zI\" equ \"%%~zJ\" GOTO WOW64\r\n   )\r\n)\r\n\r\n:WIN64\r\ncd 64bit\r\ncall Setup.bat\r\ncd  ..\r\nGOTO END\r\n\r\n\r\n:WIN32\r\ncd 32bit\r\ncall Setup.bat\r\ncd ..\r\nGOTO END\r\n\r\n\r\n:WOW64\r\ncd 32bit\r\ncall Setup.bat\r\ncd ..\r\nGOTO END\r\n\r\n\r\n:DOS\r\nECHO This Program cannot be executed in DOS.\r\npause\r\nGOTO END\r\n\r\n\r\n:END<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da es manchmal doch vorkommt, dass man f\u00fcr die ein oder andere Aufgabe ganz gerne noch eine Batch-Datei einsetzt, ist es ganz hilfreich, wenn man darin unterscheiden kann, zwischen 32bit und 64bit. Daf\u00fcr habe ich zwei Methoden gefunden, die unterschiedlich genau sind.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,9],"tags":[],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-batch"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":5,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":62,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions\/62"}],"wp:attachment":[{"href":"http:\/\/dtp-soft.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dtp-soft.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}