Help Switch

How to Use the Help Switch in Command Prompt

Screenshot of the dir /? command in a Windows 10 Command Prompt
dir /? (Dir Help Switch).

The help switch is the /? option that provides help information about a command. It displays information right there within Command Prompt about how to use it.

This is the proper syntax that needs to be used to run the help switch on every command: CommandName /?. After entering the command you have questions about, put a space and then type /?.

With most commands, the help switch takes precedence over other options used with the command and will prevent the command from executing.

The help switch, then, is useful only for informational purposes.

For example, either format /? or format a: /? (or any use of the format command) will display the command's help information only and won't, in this example, actually format the hard drive.

More Information on the Help Switch

The forward slash (/) is used to execute switches for commands, and the question mark (?) is for the help switch in particular. Unlike other switches that usually only work for a specific command (like the examples seen below), the help switch is different.

While the help command is not available with every command, the /? is, providing the same level of helpful information. The help switch is available with Command Prompt commands, DOS commands, and Recovery Console commands.

The net commands have a special help switch, /help or /h, which is equivalent to using /? with other commands.

If you want a copy of all the results from the help switch, all you have to do is use a redirection operator to redirect the command output to a file.

What you see below, and more, can be saved to a TXT file when the redirection operator is used.

The help switch is sometimes called the help option, help command switch, question switch, and question option.

How to Use the Help Switch

The help switch is really easy to use with any command:

  1. Open Command Prompt.

    The help switch does not need to be run with administrative privileges, do it doesn't need to be executed from an elevated Command Prompt. It's still possible to use it there but you can also just use a regular Command Prompt.
  1. Enter the command in question.
  2. Put a space after the command and then type /? at the end of it.
  3. Press Enter to submit the command with the help switch.

For example, executing this at a Command Prompt...

dir /?

...will give an explanation of the available switches, like in the picture above, as well as the command's syntax:

Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

You can see our Dir Command page for more information about this particular command, including examples of how to use these switches.

Like mentioned above, the help switch can be used on the format command too:

format /?
Formats a disk for use with Windows.

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/L] [/A:size] [/C] [/I:state] [/X] [/P:passes] [/S:state] 
FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes] 
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes] 
FORMAT volume [/V:label] [/Q] [/P:passes] 
FORMAT volume [/Q]

Below is part of what the help switch describes when applied to the call command. This command is used in a batch file to run other scripts or batch programs from within another script or batch program:

call /?
Calls one batch program from another.

CALL [drive:][path]filename [batch-parameters]

  batch-parameters   Specifies any command-line information required by the batch program.

If Command Extensions are enabled CALL changes as follows:

CALL command now accepts labels as the target of the CALL. The syntax is:
  CALL :label arguments

The at command is just one more example:

at /?
The AT command has been deprecated. Please use schtasks.exe instead.

The AT command schedules commands and programs to run on a computer at
a specified time and date. The Schedule service must be running to use
the AT command.

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] 
AT [\\computername] time [/INTERACTIVE]
 [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

As you can see, it doesn't matter at all what the command is. Just put /? at the end before you hit Enter, to use the help switch with that specific command.

Visit the command lists at the top of this page to see just how many different commands the help switch works with.