A while back I tried to use nbtstat on my 64bit Windows 7 machine and it seemed to not be installed. Well, I did some more research into this. After a while I figured out that if I launched a command prompt using the usual shortcut I had been using, nbtstat would not be found. But if I launched cmd.exe from the start menu, it could be found. When listing the contents of the system32 directory the files were different when depending how I launched the command line.
Here is a single screen shot of two command prompts. The directory commands were executed within seconds of each other. The top command prompt can see nbtstat.exe, but it cannot see audiodev.dll. The bottom command prompt cannot see nbtstat.exe, but can see audiodev.dll. [more]
Looking at these closely, did you notice that the times on the files displayed on both command prompts were different?
The gotcha here is how Windows handles launching 32 bit programs on a 64 bit system. Many of us have probably noticed the “Program Files” directory is for 64 bit programs and the “Program Files (x86)” directory is for the 32 bit programs. The system32 directory is for 64 bit programs and DLLs and there is a sysWOW64 directory for the 32 bit system32 files. But instead of the operating system just activating the correct DLL when a program needs it, it does some sneaky root kit like work. Here is what is really going on:
When running a 32 bit program, the sysWOW64 directory looks like the system32 directory so no matter what the program does, it cannot try to load a 64 bit DLL. Or it cannot even load a 64 bit executable. I was launching the command prompt by using a shortcut. But I was launching it from a 32 bit program launcher. A 32 bit program can launch a 64 bit program if it can find it. But when my 32 bit program launcher went looking for cmd.exe in the system32 directory, it actually found the 32 bit cmd.exe in the sysWOW64 directory and just didn’t know it. So Windows 7 does not come with a 32 bit nbtstat, only the 64 bit version. So that is why I could not find nbtstat.