I have a PC running MS-DOS (i.e. no Windows). How can I retrieve a list of all hardware present on the PC? Something like Everest for Windows, or something simpler, like lspci from Linux.

  • 2
    There's no cmd.exe in MS-DOS. You've already confused one person with that error.
    – JdeBP
    Commented Mar 10, 2014 at 20:20
  • that was before OP clarified that he really meant DOS, removing it
    – Shekhar
    Commented Mar 10, 2014 at 20:48
  • 7
    DOS in itself is not aware of PCI as such. You may be able to do it with some 3rd party DOS utility. You might also look into booting Linux. What is currently stopping you from booting Linux? What kind of access do you currently have to the machine? (Such as ability to copy files to the HDD.)
    – nitro2k01
    Commented Mar 10, 2014 at 21:12
  • nowhere did the OP say cmd.exe where did you get that from @JdeBP ?
    – barlop
    Commented Mar 10, 2014 at 21:35
  • 2
    Well it was definitely in the question when I read it. And the person who put it there has definitely confused one person with that error. (-:
    – JdeBP
    Commented Mar 10, 2014 at 23:22

5 Answers 5


You can use HWiNFO, available for DOS.

Hardware Info (HWiNFO) is a powerful system information utility designed especially for detection of hardware.

Download here(Look HWiNFO v5.5 for DOS).

enter image description here

  • 5
    The classical utility for this on an MS-DOS distribution would be MSD.
    – LawrenceC
    Commented Mar 10, 2014 at 21:56
  • 4
    Don't forget Ralf Brown's PCICFG, it's about as close to lspci as you can get. Commented Mar 11, 2014 at 3:05


There is a free tool from FreeDOS, which is very similar to 'lspci'. This tool should be compatible with MS-DOS. Download it from: http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/pcisleep.html

And use it as:

pcisleep L

this will list devices on PCI bus...

addr vendor:type  vendor description
xxxx [8086:7111]  Intel  IDE Controller
xxxx [9999:9999]  AMD    LAN Ethernet

SOLUTION-2 (only for Network Cards on PCI):

There is a free tool, called 'nicscan.exe' which scans PCI for Network cards available. Donwload from here: https://www.jumpjet.info/Application-Software/DOS/Hardware/2/NICSCAN/NICSCAN.zip


it will list something like:

Bus: 2     Device: 0          Function: 0

PCI vendor: 1022 = Advanced Micro Devices [AMD]
PCI device: 2000 = 79c790 [PCnet32 LANCE]

The result shown above is the VMWare NIC AMD 79c790 10Mbps


Another option (for DOS) may be Quarterdeck's QEMM may have Manifest (mft.exe)

The term "system profiler" may be useful when searching for additional alternatives for general hardware detection. Additionally, there are specific methods to detect specific types of hardware, so if you need something specific, do clarify.

It looks like some more software for ports may be found from I/O port programs (see file listing at ../../menu/io_mouse.txt ; I can't put a direct hyperlink there because I've only recently registered so I'm limited to only 2 links total). I can't 100% vouch for the software there, but vague memory suggests to me that WhatPort may be good for detecting COM ports.

If you want more, please elaborate (like describing just what hardware you're looking for). Otherwise, there you go.


In the DOS days there where a bunch of 3rd party tools for DOS available that did a hardware scan and showed some system information. Many where distributed as shareware.

Here is a list:

  • checkIt!
  • DRHARDWARE (still available to buy for Retro PCs)
  • HWINFO (also called Hardware Info, FreeWare today)
  • sysinfo
  • PC Analyser
  • Peak Computing CINFO
  • RudiSoft RSInfo
  • SysChk
  • TestIT

Microsoft shipped a Tool called Microsoft Diagnostics (MSD) with MS-DOS 6.x. IBM shipped QCONFIG with PC DOS 6.x (IBM DOS). And Norton Utilities did also have a system information and diagnostic functionality.

Hint 1: If you can't find them as shareware on the Internet, you can find many of them as shareware version on older sharware CD-ROM collections or on archive.org.

Hint 2: Since these diagnostic tools perform very complex functions, they may not run in some virtual machines or emulators and crash. (i tested some of them in QEMU version 7)


In the case you mean cmd when you say DOS
type the following into at the prompt


you can also launch a GUI version of the tool by typing msinfo32 at the prompt

For difference between DOS and cmd see here

Slightly changed the wording for people who landed here looking cmd instead of DOS

  • 1
    I mean a really DOS system, there's no Windows available. Commented Mar 10, 2014 at 20:15
  • 7
    -1 for pretending that he meant something else and answering the wrong question. You should be answering the question asked. This is a question and answer database not a help site. And besides, he actually DID mean what he asked. So by answering something else, you're doubly wrong.
    – barlop
    Commented Mar 10, 2014 at 21:37
  • 6
    @barlop Please try to extend to other users the courtesy of good faith. In the absence of specific information to the contrary, assuming DOS means cmd.exe seems like a fair assumption to make, those two are often used interchangeably.
    – Indrek
    Commented Mar 10, 2014 at 22:04
  • 2
    @Indrek If you think he meant something other than what he asked, then you should -still- answer the question he asked, but then add that if he meant something else, you answer for that as a side note. But first and foremost you should answer what he asked, even if you think he probably made a mistake. As I say, it's not a help site it's a QnA database.
    – barlop
    Commented Mar 10, 2014 at 22:59
  • 2
    @barlop Not sure what you're trying to say — Super User is all about helping people by getting answers to their questions.
    – slhck
    Commented Mar 11, 2014 at 7:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .