DOS Commands are instructions to perform tasks on files and directories. They are case insensitive. And as you already know, file is the area where we store group of information or data, and collection of group of files is called a directory.
image by cyberaxe @deviantart
image by cyberaxe @deviantart
In MS-DOS the file name follow 8dot3 format and is divided into two parts - primary name and secondary name. Primary name is up to 8 characters long and secondary name is up to 4 characters with dot. For example, in the image file-name Logo.jpg, Logo is the primary name and .JPG is the secondary name. Secondary names are fixed for particular type of file, meaning for system files the secondary name is designated as .sys, for text files it is .txt and so on. Here is the list of some of the important types of files with their default secondary names:
DOS Commands are divided into 2 types:
Internal CommandsThese are for performing basic operations on files and directories and they do not need any external file support.
External CommandsThese external commands are for performing advanced tasks and they do need some external file support as they are not stored in COMMAND.COM
In MS-DOS, keyboard shortcuts involving handy ones like Functional keys, arrows along with ESC are of great help for recalling to searching to clearing command line etc., Here are few of them:
- UP (↑) and DOWN (↓) arrows recall previously entered commands.
- ESC clears the present command line.
- F7 key displays command history and ALT+F7/ESC hides it.
- F9 is used to selects a command by number. Just enter the command number and it fetches the command line for you.
Most Commonly Used Internal DOS Commands
DATEThis command is used to display the system current date setting and prompt you to enter a new date. The syntax is: DATE [/T | date]
If you type DATE without parameters then it displays current date and prompts to enter new date. We should give new date in mm-dd-yy format. If you want to keep the same date just Press ENTER. DATE command with /T switch tells the command to just output the current system date, without prompting for a new date.
TIMEThis command is used to displays or set the system time.
The syntax is: TIME [/T | time]
Same as DATE command, typing TIME with no parameters displays the current time and a prompt for a new one. Press ENTER to keep the same time. TIME command used with /T switch tells the command to just output the current system time, without prompting for a new time.
COPY CONIt is used to create a file in the existing directory. Syntax is: COPY CON filename after that press Enter and start typing your text and after you're done typing your text, to save and exit hit F6 key.
TYPEThis command is used to display the contents of a text file or files. The syntax is: TYPE [drive:][path]filename
Now, lets try to display the contents of the file named filename we've created earlier using COPY CON command.
CLSIt is used to clear the screen. Syntax is CLS
RENThis command is used to change/modify the name of a file or files.
Syntax is: REN [drive:] [path] filename1 filename2.
Here, filename1 is source file for which you wanted to change the name, and filename2 will obviously becomes your new file name. Also note that you cannot specify a new drive or path for your destination file.
DIRThis command displays a list of files and subdirectories in a directory. Syntax is: DIR [drive:] [path] [filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename] Specifies drive, directory, and/or files to list. /A:attributes Displays files with specified attributes. The possible attributes are as follow: D → Directories, R → Read-only files, H → Hidden files, A → Files ready for archiving, S → System files, - Prefix meaning not /B display in bare format with no heading information or summary /C Using this attribute with dir by default displays the thousand separator in file sizes. To disable display or separator use /-C /D Displays file list sorted by column. /L Uses lowercase in listing file names and sub-directories. /N Display in new long list format where filenames are on the far right. /O:sortorder Displays list by files in sorted order. The sortorder attributes are as follow: N → By name (alphabetic), S → By size (smallest first), E → By extension (alphabetic), D → By date/time (oldest first), G → Group directories first, - Prefix to reverse order /P Display page wise pausing after each screenful of information and prompts to press any key to continue. /Q Displays the owner of a file or files. /S Displays files in specified directory and all subdirectories. Bear caution in using this in your root directory as you may end up in overflowing information. To stop the screen overflow at any point hit Pause-Break key. T:timefield This sorts and displays the list based on time field specified. C for Creation, A for Last Access, W for Last Written /W Displays list width wise or wide list format. /X This is used to display the short names generated for non-8dot3 file names.
Note that switches may be different in the DIRCMD environment variable, in which case just override present switches by prefixing any switch with - (hyphen), for example instead of using /P use /-P
PATHThis command displays the path that how we have come to the present position or sets a search path for executable files.
Its Syntax is PATH [[drive:]path[;...][;%PATH%]]
Typing PATH without any parameters displays the current path under current directory. Typing PATH ; clears all search-path settings and direct cmd.exe to search only in the current directory. And including %PATH% in the new path setting causes the old path to be appended to the new setting.
VERThis command displays the version of the Microsoft Windows running on your computer.
VOLIt displays the disk volume label and serial number, if they exist for the drive specified. If no drive is specified it displays for the active drive.
Syntax is VOL [drive:]
DEL/ERASEUsed to delete one or more files.
Syntax is DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
COPYThis command is useful in copying one or more files to another file or location. Syntax is COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
The different switches that can be used with this command as follow along with their use.
source It specifies the file or files to be copied. /A Indicates an ASCII text file. /B This switch indicates a binary file. /D This allows the destination file to be created with decryption. destination This specifies the directory and/or filename for the new file or files. /V Helps to verify new files to be written correctly. /N Specifying this switch uses short filename, if available, when copying a file with a non-8dot3 file name. /Y If destination file already exists, this switch suppresses prompting to confirm you want to overwrite it and does it asap. /-Y Contrary to above switch, this causes prompting to confirm you want to overwrite an existing destination file. /Z Copies networked files in restartable mode.
For appending multiple files for source use wildcard or file1+file2+file3 format and make sure to specify a single file for destination.
MD, CD and RD
- MD (or MKDIR) command stand for make directory and it is used to create a directory.
Syntax is MD [drive:]path
- CD (or CHDIR) stands for create or change directory and it allows to display the name of or change the current directory or rather we can say come out of a directory. Syntax is CD [/D] [drive:][path]
→ Typing CD drive: displays the current directory in the specified drive. This CD (or CHDIR) command does not treat spaces as delimiters due to which it allows to CD into a subdirectory name that contains a space without surrounding the name with quotes.
CHDIR \program files\mozilla firefox
is the same as:
CHDIR "\program files\mozilla firefox"
→ If you type CD without any parameters it displays current drive and directory. CD.. specifies that you want to change to the higher directory in the current path. Whereas, using CD\ you can directly change to parent/root directory from any location in the current drive.
→Using /D switch changes current drive in addition to current directory for a drive.
- RD (or RMDIR) command removes or deletes a directory. There are two conditions to remove any directory - (1) Directory to be removed should be empty. and (2) We should be outside the directory we are commanding to delete.
Syntax is RD [/S] [/Q] [drive:]path
Here, using the switch /S removes a directory tree meaning it removes all directories and files in the specified directory in addition to the directory itself. And using /Q is the quiet mode that doesn't asks for ok approval to remove a directory tree.
- MD (or MKDIR) command stand for make directory and it is used to create a directory.
Most Commonly Used External DOS Commands
EDITThis command is used to modify or change the data of a file.
Syntax is EDIT [/B] [/H] [/R] [/S] [filename(s)]
Using switch /B you can force the edit in monochrome mode. /H displays the maximum number of lines possible for your system hardware. Whereas using /R and /S one can load files in read-only mode and force the use of short filenames respectively. [filename(s)] is used to specify file(s) to go edit. You can use wildcards (* and ?) to specify multiple files.
XCOPYThis command is used to copy files and directory trees from one disk to another disk.
Syntax is XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/EXCLUDE:file1[+file2][+file3]...]
LABELIt is used to create, change, or delete the volume label of a disk.
Syntax is LABEL [drive:] [label]
LABEL [/MP] [volume] [label]
Here, [drive:] is for secifying the drive letter of a drive to be labelled and [label] specifies the label of the volume disk. [/MP] is used to specify that the volume should be created as a mount point and [volume] is used to specify volume name, usually mentioned after drive letter followed by colon and then giving volume name required.
CHKDSKThis command is used to check a disk and display a status report with properties of disk like serial number, volume label, memory and other properties along with errors on the disk if any.
Syntax is CHKDSK [volume path] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]
[volume path] is where you specify the drive letter followed by a colon and volume name to be checked. using /F switch allows you to fix errors on the disk. /V display full path and/or cleanup message if any. /R is used in tandem with /F and used to locate bad sectors and recover readable information. If you wanted to perform a less vigorous check of index entries on the disk then the right option is to use /I or /C rather then /R as they skip checking of cycles on the volume and helps in reducing the amount of time required to run chkdsk. Using /X forces the volume to dismount first before checking is performed. /L:size is all about specifying the log file size in kilobytes.
TREEThis command is very useful to view the list of directories and subdirectories present on the disk in graphical form. If you wanted to include files also with directories and subdirectories, then you'll have to give the command line as tree/f which presents the tree view of all the content on your disk. Here is the syntax for this command with allowed switches:
TREE [drive:path] [/F] [/A]
In case you wanted use ASCII instead of extended characters, then go ahead include /A in the command line.
DELTREEThis command is used to remove a directory along with its contents.
Syntax is deltree [drive:path]
here, [drive:path] specifies the directory name to be deleted. All the subdirectories and files in this directory will be deleted without prompt and there's not getting back. So, keep caution while using this command.
DOSKEYThis command is generally used to edits command lines and recalls commands.
Syntax is DOSKEY [/REINSTALL] [/HISTORY] [text]
Here, /REINSTALL installs new copy of doskey, /HISTORY is used to display all previously given commands stored in memory. And [text] specifies the commands you want to record.
FINDThis command searches for a specific text string in a file or files. Syntax is FIND [/V] [/C] [/N] [/I] [/OFF] "string" [[drive:][path]filename[ ...]]
The basic essential elements in the command line for find are - the string enclosed in " " and [[drive:][path]filename(s)]. String specifies the text string to find in the file and [[drive:][path]filename(s)] specifies the file or files where the text string search is to be done. If a path is not specified, FIND searches the text typed at the prompt or piped from another command. When you append /OFF in the command line, it searches and finds even those files with offline attribute set. Apart from searching the text string, this command is useful in:
- Displaying all lines not containing the specified string @ /V
- Displaying only the number count of lines containing the text string @ /C
- Displaying line numbers with the displayed lines @ /N
SORTThis command is used to arrange the data of a file in alphabetical order (A-Z, 0-9) or reverse alphabetical order.
Syntax is SORT [/R] [[drive1:][path1]filename1] [/T [drive2:][path2]] [/O [drive3:][path3]filename3]
/R in command line reverses the sort order; that is, the data of the specified file sorts sorts Z to A, then 9 to 0. [drive1:][path1]filename1 specifies the file to be sorted. /T [drive2:][path2] is used in cases of data overflow in main memory and it specifies the path of the directory to hold the sort's working storage. And /O [drive3:][path3]filename3 specifies the file where the sorted input is to be stored.