The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
“MS-DOS commands” is now used as shorthand for commands typed in the Windows Command Prompt, but the two are not the same thing. Modern cmd.exe includes commands that were never part of classic MS-DOS, including bcdedit, diskpart, manage-bde, schtasks, wevtutil, and powershell.
This reference covers the current Microsoft Windows command catalog, explains the most important syntax rules, and identifies commands that are obsolete, version-dependent, administrative, or potentially destructive. Microsoft’s current documentation applies to Windows 10, Windows 11, Windows Server 2016, 2019, 2022, 2025, and Azure Local 2311.2 and later. It is therefore more accurate to treat this as a complete current Windows Command Prompt command list than as a list of commands available in every historical MS-DOS release.
How to display the command list on your PC
Open Command Prompt by pressing Win+R, typing cmd, and pressing Enter. For commands that change system settings, open it as administrator by searching for Command Prompt, right-clicking it, and selecting Run as administrator.
Run help without an argument to display the commands available through the local command processor:
#1 Best Overall
help
For command-specific help, use either form below. The output can vary by Windows version and installed components.
help robocopy
robocopy /?
help is a built-in command. The /? switch is supported by many, but not necessarily all, commands.
Complete current Windows command catalog
The following is Microsoft’s current top-level A–Z catalog. Some entries are subcommands or tools intended mainly for Windows Server, storage administration, deployment, or troubleshooting. Their presence in the catalog does not mean that every command is installed, enabled, or appropriate for a home PC.
| Letter | Commands |
|---|---|
| A | active, add, add alias, add volume, adprep, append, arp, assign, assoc, at, atmadm, attach-vdisk, attrib, attributes, auditpol, autochk, autoconv, autofmt, automount |
| B | bcdboot, bcdedit, bdehdcfg, begin backup, begin restore, bitsadmin, bootcfg, break |
| C | cacls, call, cd, certreq, certutil, change, chcp, chdir, chglogon, chgport, chgusr, chkdsk, chkntfs, choice, cipher, clean, cleanmgr, clip, cls, cmd, cmdkey, cmstp, color, comp, compact, convert, copy, create, cscript |
| D | date, dcdiag, dcgpofix, dcpromo, defrag, del, delete, detach vdisk, detail, dfsdiag, dfsrmig, diantz, dir, diskcomp, diskcopy, diskpart, diskperf, diskraid, diskshadow, dispdiag, dnscmd, doskey, driverquery, dtrace |
| E | echo, edit, endlocal, end restore, erase, eventcreate, Evntcmd, exec, exit, expand, expand vdisk, expose, extend, extract |
| F | fc, filesystems, find, findstr, finger, flattemp, fondue, for, forfiles, format, freedisk, fsutil, ftp, ftype, fveupdate |
| G–I | getmac, gettype, goto, gpfixup, gpresult, gpt, gpupdate, graftabl, help, helpctr, hostname, icacls, if, import, inactive, ipconfig, ipxroute, irftp |
| J–L | jetpack, klist, ksetup, ktmutil, ktpass, label, list, load metadata, lodctr, logman, logoff, lpq, lpr |
| M | macfile, makecab, manage-bde, mapadmin, md, merge vdisk, mkdir, mklink, mmc, mode, more, mount, mountvol, move, mqbkup, mqsvc, mqtgsvc, msdt, msg, msiexec, msinfo32, mstsc |
| N–O | nbtstat, netcfg, netdom, net print, net user, netsh, netstat, nfsadmin, nfsshare, nfsstat, nlbmgr, nltest, nslookup, ntbackup, ntcmdprompt, ntfrsutl, offline, online, openfiles |
| P | pagefileconfig, path, pathping, pause, pbadmin, pentnt, perfmon, ping, pktmon, pnpunattend, pnputil, popd, powershell, print, prncnfg, prndrvr, prnjobs, prnmngr, prnport, prnqctl, prompt, pubprn, pushd, pushprinterconnections, pwlauncher, pwsh |
| Q–R | qappsrv, qprocess, query, quser, qwinsta, rd, rdpsign, recover, refsutil, reg, regini, regsvr32, relog, rem, remove, ren, rename, repadmin, repair, replace, rescan, reset, retain, revert, rexec, risetup, rmdir, robocopy, route ws2008, rpcinfo, rpcping, rsh, rundll32, rwinsta |
| S | san, sc, schtasks, scwcmd, secedit, select, serverceipoptin, servermanagercmd, serverweroptin, set, setlocal, setspn, setx, sfc, shadow, shift, showmount, shrink, shutdown, simulate restore, sort, start, subst, sxstrace, sysmon, sysocmgr, systeminfo |
| T–V | takeown, tapicfg, taskkill, tasklist, tcmsetup, telnet, tftp, time, timeout, title, tlntadmn, tpmtool, tpmvscmgr, tracerpt, tracert, tree, tscon, tsdiscon, tsecimp, tskill, tsprof, type, typeperf, tzutil, unexpose, uniqueid, unlodctr, ver, verifier, verify, vol, vssadmin |
| W–X | waitfor, wbadmin, wdsutil, wecutil, wevtutil, where, whoami, winrs, winsat, wmic, writer, wscript, xcopy |
Commands most people actually use
| Purpose | Commands and examples |
|---|---|
| Navigate files and folders | dir lists contents; cd or chdir changes location; md/mkdir creates folders; rd/rmdir removes folders; copy, move, del, and ren manage files. |
| Inspect text | type notes.txt prints a text file. Use more notes.txt for page-by-page output. Do not use type on a binary file unless unreadable screen output is acceptable; it does not damage the file. |
| Find commands or files | where notepad searches locations in PATH. findstr /s /i "error" *.log searches text in matching files. |
| Network troubleshooting | ipconfig /all shows adapter configuration; ping example.com tests reachability; tracert example.com shows the route; nslookup example.com queries DNS; netstat -ano shows connections and owning process IDs. |
| Processes and services | tasklist lists processes; taskkill /PID 1234 /F terminates one; sc query examines services. The /F option forces termination, so verify the process first. |
| System information | systeminfo reports Windows and hardware details; hostname prints the computer name; whoami shows the current account; driverquery lists installed drivers. |
| Permissions | icacls C:Data displays or changes NTFS permissions. takeown changes ownership and should not be used as a routine substitute for correcting access-control entries. |
| Repair and storage | sfc /scannow checks protected system files; chkdsk C: /scan performs an online file-system scan; diskpart, format, clean, and convert can alter or erase disks. |
Command Prompt syntax you need to know
Changing drives and directories
cd C: displays the current directory associated with drive C; it does not switch to drive C. To change the drive and directory together, use:
cd /d C:UsersAlexDocuments
Windows accepts paths containing spaces when they are enclosed in double quotation marks:
cd /d "C:Program FilesExample"
copy "C:My Filesreport.txt" "D:Archive"
With command extensions enabled, md can create missing intermediate folders in one operation:
md C:TaxesPropertyCurrent
Chaining commands
| Operator | Behavior | Example |
|---|---|---|
& |
Runs both commands regardless of the first result. | cd C:Logs & dir |
&& |
Runs the second command only when the first succeeds. | mkdir Backup && echo Created |
|| |
Runs the second command only when the first fails. | dir Missing || echo Not found |
| |
Pipes the first command’s output into another command. | tasklist | findstr /i chrome |
> |
Writes output to a file, replacing its contents. | ipconfig /all > network.txt |
>> |
Appends output to a file. | echo Finished >> log.txt |
The characters &, <, >, |, and parentheses have special meanings. Escape one with a caret when necessary, such as echo A ^& B. A command normally returns exit code 0 on success; no printed output does not necessarily mean that it failed.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRunning cmd.exe
The command processor supports this general form:
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f>|<f>}] [/e:{on|off}] [/f:{on|off}] [/v:{on|off}] [<string>]
/cruns the supplied command and exits./kruns it and keeps the prompt open./ddisables AutoRun commands for that invocation./qturns command echoing off./v:onenables delayed environment-variable expansion, useful in some batch loops.
Normally, cmd.exe can execute AutoRun commands configured in these registry values:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun
Use cmd /d when you need a session without those startup commands. Filename completion is normally available with Tab; cmd /f:on enables command-line completion behavior documented by Microsoft.
Batch-file rules that cause common errors
for uses different variable syntax
At an interactive prompt, use one percent sign. In a .bat or .cmd file, use two:
for %F in (*.log) do echo %F
:: Inside a batch file
for %%F in (*.log) do echo %%F
for variables are case-sensitive, cannot be numeric, and no more than 52 variables can be active at once.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →call is for batch files
Use call to invoke another batch file or a label in the current batch file:
Rank #3
call backup.cmd
call :MakeLog
exit /b
:MakeLog
echo Creating log
exit /b
At an interactive prompt, call has no effect. This is a frequent reason a command copied from a batch script appears to do nothing.
Aliases are not separate capabilities
These names refer to the same built-in operation:
cdandchdirmdandmkdirdelanderaserdandrmdirrenandrename
The at command is not the modern scheduler
at appears in the catalog, but it is an old scheduling interface with strict requirements. The Schedule service must be running, and the caller must belong to the local Administrators group. For new automation, schtasks or PowerShell is generally the more appropriate choice.
If you are specifically working with at, this example starts a command at 2:45 PM:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
at 14:45 cmd /c dir
at does not automatically load cmd.exe, so internal commands such as dir need the cmd /c wrapper. Scheduled output is not displayed on your screen. Redirect it to a file, escaping the redirection operator:
at 14:45 c:test.bat ^>c:output.txt
Use absolute paths because the task starts with the Windows system directory as its working directory. For network resources, use UNC paths instead of mapped drive letters. By default, at tasks stop after 72 hours.
WMIC is listed, but deprecated
wmic is still present in Microsoft’s catalog, which explains why it appears in many command lists. However, Microsoft deprecated the WMIC utility beginning with Windows 10 version 21H1 and the corresponding Windows Server semi-annual channel release. WMI itself was not deprecated by that announcement.
Rank #4
Do not describe WMIC as a recommended, current management tool. Microsoft identifies Windows PowerShell for WMI as its replacement. WMIC also has its own aliases, verbs, global switches, and interactive commands such as CLASS, PATH, CONTEXT, and QUIT; its syntax is not simply ordinary cmd.exe syntax.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesCommand Prompt versus PowerShell
Command Prompt runs Windows console commands and batch files. It does not execute PowerShell cmdlets directly. For example, Get-Process is a PowerShell command, not a native Command Prompt command.
PowerShell is Microsoft’s recommended choice for robust, current Windows automation. You can start it from Command Prompt with:
powershell
pwsh
The first commonly starts Windows PowerShell 5.1 when installed; pwsh starts modern PowerShell if it is installed. Use the shell that matches the script and administration instructions you are following.
Commands requiring extra caution
| Command or family | Risk |
|---|---|
diskpart, format, clean, delete |
Can remove partitions, volumes, or data. Confirm the selected disk and volume before committing changes. |
reg, regini |
Can make Windows or applications unusable through incorrect registry changes. Export relevant keys first. |
bcdedit, bcdboot |
Can affect boot configuration and prevent Windows from starting if used incorrectly. |
icacls, takeown |
Can weaken or replace file permissions and ownership. |
del, erase, rd |
Can delete files or directories without placing them in the Recycle Bin. |
cipher, manage-bde |
Can affect encryption and recovery access. Keep recovery keys available. |
sc, schtasks, shutdown |
Can stop services, create privileged tasks, or restart/shut down computers. |
When a command changes disks, boot settings, encryption, permissions, or the registry, do not paste it blindly from a forum post. Check its local help, identify the target precisely, and make a backup or recovery plan first.
FAQ
Are these really MS-DOS commands?
Some are traditional DOS commands, but the full list is the current Windows command catalog. Modern Windows includes many commands for NTFS, networking, Active Directory, BitLocker, Hyper-V, event logs, boot configuration, and other features that did not exist in classic MS-DOS.
How do I get a complete list of commands in Command Prompt?
Open Command Prompt and run help. To see syntax for one command, run help command or, where supported, command /?.
What is the difference between Command Prompt and PowerShell?
Command Prompt uses cmd.exe syntax and runs console commands and batch files. PowerShell is a separate shell with cmdlets, objects, and its own scripting language. Command Prompt does not run PowerShell cmdlets directly.
Why does cd C: not change to the C: drive?
In Windows, each drive keeps its own current directory. cd C: displays the current C: directory, while cd /d C:path changes both the active drive and directory.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why does my for loop work at the prompt but fail in a batch file?
Interactive Command Prompt syntax uses one percent sign, such as for %F in (*) do echo %F. Batch files require two percent signs: for %%F in (*) do echo %%F.
Is WMIC still supported?
WMIC remains in Microsoft’s catalog but the WMIC utility has been deprecated since Windows 10 version 21H1. WMI itself was not deprecated. Microsoft points users toward PowerShell for WMI management.
What is the safest way to learn a command?
Use help command or command /?, test read-only forms first, use absolute paths, and take a backup before commands that alter disks, permissions, the registry, encryption, or boot configuration.
The Bottom Line
The practical answer to “What are all the MS-DOS commands?” depends on the platform and version. For a current Windows PC, start with help and treat Microsoft’s Windows command catalog as the authoritative list. Learn the parsing rules before combining commands, remember that batch files use different for syntax, and do not assume that an entry such as wmic is still recommended merely because it appears in the catalog.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

