Windows Command Line – 64-bit?

I've had a lot of people ask me about the 64-bit edition of Windows 7 and whether it has a 64-bit command line. The answer is yes and no. In this post, I'll explain what I mean.

First, if you launch the Windows command line (cmd.exe) on a 64-bit edition of Windows 7 and then look at the Task Manager, you'll notice that the process entry for cmd.exe does not have an *32 after it. This indicates that the cmd.exe process is 64-bit. You may notice several entries in the Task Manager with the *32 after them. These entries are for 32-bit applications and processes.

Now, the question is this: are all the Windows 7 command line commands also 64-bit now? The answer there is: It depends?

You see many of us have old habits that die hard. As long as you use 64-bit commands, while in cmd.exe, you will be using 64-bit command line tools; however, if you run a 32-bit command that command will still run, but it will be in 32-bit mode.

To see this, open the task manager and then open the command prompt from the Start menu on your Windows 7 64-bit machine.

Now change to the C:WindowsSysWOW64 directory in the command prompt window and then execute the more command with no parameters. It will appear to hang, but that's OK.

Look at the task manager and note the entry for the more.com command. It has an *32 after it.

You see, the files in the C:WindowsSysWOW64 folder are 32-bit commands. There is even a 32-bit version of cmd.exe that you can launch from there.

The point is simply this: To ensure that you are running a true 64-bit command prompt, make sure that all of your commands are 64-bit and not just thecmd.exe.

10 thoughts on “Windows Command Line – 64-bit?”

  1. Bottom line is windows 7 64bit is a terrible OS for anything intelligent.
    M$ has given up on true programming and any usefull features are simply taken out.
    Seriously it’s time to learn Linux as Windows is really sh&t.

      1. the way Dave expressed was more of a frustration which I share btw. I’m trying to do a simple batch file but being castrated due to 32bit commands and there is no way around it. I’ve been banging my head for last 3 hours and while searching for alternative solution, I ran into this site. I could of been done with this simple task in unix/linux environment within 10min. I hate windows.

        1. I can understand your frustration; however, I could have been done with it in 10 minutes too on Windows. I would simply use PowerShell. The argument to switch to Linux because it has a more powerful scripting environment is simply dead with PowerShell, version 3 particularly. But you are right, Linux/Unix was CERTAINLY there first! Took MS a long time to get it after leaving the DOS world :-)

  2. Under Win 8, 64 bit running any of the following:
    %windir%SysWoW64cmd.exe
    c:windowssyswow64cmd.exe
    c:windowssystem32cmd.exe
    cmd.exe

    results in the Task Manager entries being shown as:
    Windows Command Processor (32 bit)

    Is there any way to get a 64 bit command line in Win8, 64 bit?

  3. So… when i’m making DOS programs like:

    @echo off
    cls
    title Hello 64 bit!
    echo Hello!
    pause
    exit

    Is that 16, 32, 64 bit? When I program like this on Windows 3.1 (16 bit) It wont work. What is it?

    1. It will run as 64-bit if you are in a default CMD prompt on a 64-bit edition of Windows. The PAUSE command used is internal to the CMD (command) interpreter, so it does not force a shell to a 32-bit version of CMD.

  4. Ok I have a problem here I am rummning 64bit windows. But I am trying to open a program to view the coding of it in the command propmpt but for some reason I can not use the EDIT command in 64 bit windows. is there away around this??? C:WindowssysWOW64cmd.exe i tried this and it still runs the 64 bit version of cmd prompt and am still unable to view the coding of the program I am trying to look at.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>