home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.msdos.batch.nt      Fun with Windows NT batch files      68,980 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 67,192 of 68,980   
   JJ to All   
   Re: Is batch file called from 32 or 64 c   
   21 Apr 18 21:12:26   
   
   From: jj4public@vfemail.net   
      
   On Fri, 20 Apr 2018 17:36:07 -0000 (UTC), Auric__ wrote:   
   > bisanfang wrote:   
   >   
   >> On Monday, June 11, 2012 at 7:41:09 AM UTC+8, Gabor Grothendieck wrote:   
   >              ^^^^^^^^^^^^^   
   >   
   > ***SIX YEARS AGO.***   
      
   It's GG users, after all.   
      
   >> I use the following command on my 64bit version of windows 10 (havn't   
   >> tested on 32bit operating system), *check_process_bits.bat*:   
   >>   
   >> ```bat   
   >> IF EXIST "%windir%\Sysnative\cmd.exe" (ECHO proc32_on_win64) ELSE ECHO   
   >> proc64_on_win64 or proc32_on_win32 ```   
   > [snip]   
   >   
   > My Win10x86 install does *not* have that directory, nor does my Win7x64   
   > system.   
      
   It's a pseudo directory which only exists on 32-bit applications in a 64-bit   
   Windows. It's not a physical directory and it's not enumerable.   
      
   >>> reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find   
   >>> /i "x86" > NUL && set OS=32BIT || set OS=64BIT   
   >>>   
   >>> if %OS%==32BIT echo This is a 32bit operating system   
   >>> if %OS%==64BIT echo This is a 64bit operating system   
   >>> ```   
   >   
   > The only problem I see is the (rare?) case where Windows is running on non-   
   > Intel architectures. For example, Windows 10 has an ARM edition; how would   
   > you deal with that?   
      
   The SysNative pseudo directory check is enough to check whether the current   
   CMD (or any application) is 32-bit or 64-bit.   
      
   If the CPU need to be checked for something else, the CPU ID would be one of   
   these:   
      
   - Intel64 = Intel [x86-64; 64-bit]   
   - AMD64 = AMD [x86-64; 64-bit]   
   - VIA64 = Via Nano [x86-64; 64-bit]   
   - x86 = AMD/Intel [x86; 32-bit]   
   - ARM = ARM Cortex [32-bit]   
   - EM64T = Intel Itanium [IA64; 64-bit]   
      
   On 64-bit Windows XP, Intel x86-64 is detected as EM64T. Because there's no   
   Intel x86-64 at the time Windows XP x64 is released.   
      
   I don't know about 64-bit ARM CPU ID.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca