Why is "ipconfig" not recognized as an internal or external command?

Using Windows 7, on just one of my machines, typing in "ipconfig" no longer does anything.

Is there a reason for this?

My speculation is that it has something to do with java SDK installation / changing the system variables.

The command and response:

C:\Users\Paul>ipconfig

'ipconfig' is not recognized as an internal or external command, operable program or batch file.

My PATH:

C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
C:\Program Files (x86)\MiKTeX 2.8\miktex\bin;
C:\Program Files (x86)\Windows Live\Shared;
C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files\Java\jdk1.6.0_22\bin;
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
C:\Program Files (x86)\QuickTime\QTSystem\;
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;
C:\Program Files (x86)\MATLAB\R2007b\bin;
C:\Program Files (x86)\MATLAB\R2007b\bin\win32;
C:\Program Files (x86)\Common Files\Autodesk Shared\;
C:\Program Files (x86)\Autodesk\Backburner\;
C:\Program Files\Common Files\Autodesk Shared\

Solution 1:

I'd imagine if C:\Windows\System32 were missing from the path statement, ipconfig not running would be the least of your worries.

C:\Windows\System32 contains a large number of the executables and dynamic link libraries (DLLs) that allow Windows to function.

An entry in the system Path settings tells the computer to look in that specified location for executables and files that programs are referencing.

While it would seem that a good program would not rely on Path variables but should directly reference the location of any and every file it is dependent on, the Path statement allows multiple similar OSes to coexist on the same drive (Windows XP in the C:\WinXP\ folder, Windows 7 in C:\Win7\, etc, which would result in different and incompatible .\System32\ directories), and allows for more easy and flexible upgrading of framework files (look for the newest version of the .Net libraries in a versioned directory where they are installed rather than a central directory where they may overwrite each other in an undersireable way).

So a program looking to use the functions of Windows XP's built in zip handling would call zipfldr.dll and the OS will return the functions of that executable stored in C:\Windows\System32\zipfldr.dll. If you look through that directory, you should see many files that you'll probably recognize as common scripting commands or functions critical to the OSes operation.

I've never removed the C:\Windows\System32 entry from my path statement and I don't think I ever will (though I suppose testing this in a VM with rollback functionality shouldn't be too hard) and so I cannot say for certain what would happen if it were completely missing.

Suffice it to say, pretty much any batch script would completely not function, and the abilities of your OS would be severely curtailed.

Others have already noted how to add C:\Windows\System32 to the Path statement if it is missing, and so I'll not repeat that here. But I would not be surprised, since this is the only function you've found to be not working, if there were something else wrong here.

Solution 2:

It could indeed be down to system variables.

  • Right click My Computer in Start Menu or on desktop and click Properties
  • Choose Advanced System settings -> Advanced
  • Click the Environment Variables... button
  • Find the system variable called Path and click it
  • Click Edit... button
  • It should be a long string with several paths separated by a semi-colons ;
  • Check it contains C:\Windows\system32 (I'm assuming your system drive is C)
  • If your not sure if it is correct then you might want to copy it and post it here.
  • If you make changes you may need to restart to see any effect

If this doesn't help then open your C:\Windows\system32 directory and ensure it contains IPConfig.exe. If it doesn't then I guess you must be missing system files.

Solution 3:

I add the same problem, but when I type in a commande line (cmd.exe) the following

echo %PATH%

The %SystemRoot%\system32 was indeed present.

I read somewhere that the problem could be caused by a space following a semicolon in the definition of PATH variable, but this was not the case for me.

My problem was solved when I discovered that one of my PATH item was %SYSTEMROOT% instead of %SystemRoot% (case sensitive)

Solution 4:

You have to Run the command prompt as an administrator. By default, Windows 7 does not allow the command prompt system access. From the Start menu, right-click on Command Prompt and select Run as administrator. Now you will be able to run all the commands you expect to, like ipconfig.

Solution 5:

Another thing to check, which was the culprit in my case: the PATHEXT environment variable.

I had the user environment variable PATHEXT set to "*.LNK" in an attempt to get shortcut files picked up on the command line without typing the extension, but this was just shadowing the system environment variable PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC", not adding to it. Thus, ipconfig.exe wasn't being found. Setting the user-level PATHEXT to the full list of extensions fixed it.