-
Overview
-
Get Into The Windows Command Line
-
Understanding The Prompt
-
Getting Help
-
Help On A Specific Command
-
Listing The Files
-
Moving Into A Directory
-
Moving Back A Directory
-
Creating A Directory
-
Switching Drives
-
Creating A File
-
Start Command
-
Open Files/Folders With Visual Studio Code
-
Moving A File
-
Copying A File
-
Rename A File
-
Deleting A File
-
Deleting A Directory
-
Renaming A Directory
-
Closing Or Exiting The Window Command Line
-
Environment Variables
-
Showing The Contents Of A File
-
Tab Completion
-
History
-
Command Line Overview
Download Source
Windows Command Line
Overview
Being effective at the command line can be very beneficial for Go developers. This module will show many of the common commands used to navigate and manipulate files and your environment from the command line.
Introduction
This module covers the basic in navigating and using the Microsoft Windows command line.
- Find files
- Create/Move/Delete files
- Editing Files
- Working with directories
Keep in mind that there are over 100 different commands that are available. We will only be covering the basic ones in this module.
Get Into The Windows Command Line
To get into a command prompt:
- Click the
start
button. - In the
Search
orRun
line, typecmd
and pressenter
.
Understanding The Prompt
Typically, windows starts you in your user directory:
C:\Users\JaneSmith
The first part of the prompt (C:
) tells us that we are on the C:
drive.
Tips
- MS-DOS and the Windows command line are not case sensitive.
- To use a file name with a space in it, surround it with quotes. My Documents would become
"My Documents"
- When you delete a file or directory from the command line, it is NOT moved to the
Recycle Bin
and is gone forever.
Getting Help
You can type help
at any time at the command prompt to get a list of commands to run:
> help
For more information on a specific command, type HELP command-name
ASSOC Displays or modifies file extension associations.
ATTRIB Displays or changes file attributes.
BREAK Sets or clears extended CTRL+C checking.
BCDEDIT Sets properties in boot database to control boot loading.
CACLS Displays or modifies access control lists (ACLs) of files.
CALL Calls one batch program from another.
CD Displays the name of or changes the current directory.
CHCP Displays or sets the active code page number.
CHDIR Displays the name of or changes the current directory.
CHKDSK Checks a disk and displays a status report.
CHKNTFS Displays or modifies the checking of disk at boot time.
CLS Clears the screen.
CMD Starts a new instance of the Windows command interpreter.
COLOR Sets the default console foreground and background colors.
COMP Compares the contents of two files or sets of files.
COMPACT Displays or alters the compression of files on NTFS partitions.
CONVERT Converts FAT volumes to NTFS. You cannot convert the
current drive.
COPY Copies one or more files to another location.
DATE Displays or sets the date.
DEL Deletes one or more files.
DIR Displays a list of files and subdirectories in a directory.
DISKPART Displays or configures Disk Partition properties.
DOSKEY Edits command lines, recalls Windows commands, and
creates macros.
DRIVERQUERY Displays current device driver status and properties.
ECHO Displays messages, or turns command echoing on or off.
ENDLOCAL Ends localization of environment changes in a batch file.
ERASE Deletes one or more files.
EXIT Quits the CMD.EXE program (command interpreter).
FC Compares two files or sets of files, and displays the
differences between them.
FIND Searches for a text string in a file or files.
FINDSTR Searches for strings in files.
FOR Runs a specified command for each file in a set of files.
FORMAT Formats a disk for use with Windows.
FSUTIL Displays or configures the file system properties.
FTYPE Displays or modifies file types used in file extension
associations.
GOTO Directs the Windows command interpreter to a labeled line in
a batch program.
GPRESULT Displays Group Policy information for machine or user.
GRAFTABL Enables Windows to display an extended character set in
graphics mode.
HELP Provides Help information for Windows commands.
ICACLS Display, modify, backup, or restore ACLs for files and
directories.
IF Performs conditional processing in batch programs.
LABEL Creates, changes, or deletes the volume label of a disk.
MD Creates a directory.
MKDIR Creates a directory.
MKLINK Creates Symbolic Links and Hard Links
MODE Configures a system device.
MORE Displays output one screen at a time.
MOVE Moves one or more files from one directory to another
directory.
OPENFILES Displays files opened by remote users for a file share.
PATH Displays or sets a search path for executable files.
PAUSE Suspends processing of a batch file and displays a message.
POPD Restores the previous value of the current directory saved by
PUSHD.
PRINT Prints a text file.
PROMPT Changes the Windows command prompt.
PUSHD Saves the current directory then changes it.
RD Removes a directory.
RECOVER Recovers readable information from a bad or defective disk.
REM Records comments (remarks) in batch files or CONFIG.SYS.
REN Renames a file or files.
RENAME Renames a file or files.
REPLACE Replaces files.
RMDIR Removes a directory.
ROBOCOPY Advanced utility to copy files and directory trees
SET Displays, sets, or removes Windows environment variables.
SETLOCAL Begins localization of environment changes in a batch file.
SC Displays or configures services (background processes).
SCHTASKS Schedules commands and programs to run on a computer.
SHIFT Shifts the position of replaceable parameters in batch files.
SHUTDOWN Allows proper local or remote shutdown of machine.
SORT Sorts input.
START Starts a separate window to run a specified program or command.
SUBST Associates a path with a drive letter.
SYSTEMINFO Displays machine specific properties and configuration.
TASKLIST Displays all currently running tasks including services.
TASKKILL Kill or stop a running process or application.
TIME Displays or sets the system time.
TITLE Sets the window title for a CMD.EXE session.
TREE Graphically displays the directory structure of a drive or
path.
TYPE Displays the contents of a text file.
VER Displays the Windows version.
VERIFY Tells Windows whether to verify that your files are written
correctly to a disk.
VOL Displays a disk volume label and serial number.
XCOPY Copies files and directory trees.
WMIC Displays WMI information inside interactive command shell.
For more information on tools see the command-line reference in the online help.
For more information on a specific command, type HELP command-name
ASSOC Displays or modifies file extension associations.
ATTRIB Displays or changes file attributes.
BREAK Sets or clears extended CTRL+C checking.
BCDEDIT Sets properties in boot database to control boot loading.
CACLS Displays or modifies access control lists (ACLs) of files.
CALL Calls one batch program from another.
CD Displays the name of or changes the current directory.
CHCP Displays or sets the active code page number.
CHDIR Displays the name of or changes the current directory.
CHKDSK Checks a disk and displays a status report.
CHKNTFS Displays or modifies the checking of disk at boot time.
CLS Clears the screen.
CMD Starts a new instance of the Windows command interpreter.
COLOR Sets the default console foreground and background colors.
COMP Compares the contents of two files or sets of files.
COMPACT Displays or alters the compression of files on NTFS partitions.
CONVERT Converts FAT volumes to NTFS. You cannot convert the
current drive.
COPY Copies one or more files to another location.
DATE Displays or sets the date.
DEL Deletes one or more files.
DIR Displays a list of files and subdirectories in a directory.
DISKPART Displays or configures Disk Partition properties.
DOSKEY Edits command lines, recalls Windows commands, and
creates macros.
DRIVERQUERY Displays current device driver status and properties.
ECHO Displays messages, or turns command echoing on or off.
ENDLOCAL Ends localization of environment changes in a batch file.
ERASE Deletes one or more files.
EXIT Quits the CMD.EXE program (command interpreter).
FC Compares two files or sets of files, and displays the
differences between them.
FIND Searches for a text string in a file or files.
FINDSTR Searches for strings in files.
FOR Runs a specified command for each file in a set of files.
FORMAT Formats a disk for use with Windows.
FSUTIL Displays or configures the file system properties.
FTYPE Displays or modifies file types used in file extension
associations.
GOTO Directs the Windows command interpreter to a labeled line in
a batch program.
GPRESULT Displays Group Policy information for machine or user.
GRAFTABL Enables Windows to display an extended character set in
graphics mode.
HELP Provides Help information for Windows commands.
ICACLS Display, modify, backup, or restore ACLs for files and
directories.
IF Performs conditional processing in batch programs.
LABEL Creates, changes, or deletes the volume label of a disk.
MD Creates a directory.
MKDIR Creates a directory.
MKLINK Creates Symbolic Links and Hard Links
MODE Configures a system device.
MORE Displays output one screen at a time.
MOVE Moves one or more files from one directory to another
directory.
OPENFILES Displays files opened by remote users for a file share.
PATH Displays or sets a search path for executable files.
PAUSE Suspends processing of a batch file and displays a message.
POPD Restores the previous value of the current directory saved by
PUSHD.
PRINT Prints a text file.
PROMPT Changes the Windows command prompt.
PUSHD Saves the current directory then changes it.
RD Removes a directory.
RECOVER Recovers readable information from a bad or defective disk.
REM Records comments (remarks) in batch files or CONFIG.SYS.
REN Renames a file or files.
RENAME Renames a file or files.
REPLACE Replaces files.
RMDIR Removes a directory.
ROBOCOPY Advanced utility to copy files and directory trees
SET Displays, sets, or removes Windows environment variables.
SETLOCAL Begins localization of environment changes in a batch file.
SC Displays or configures services (background processes).
SCHTASKS Schedules commands and programs to run on a computer.
SHIFT Shifts the position of replaceable parameters in batch files.
SHUTDOWN Allows proper local or remote shutdown of machine.
SORT Sorts input.
START Starts a separate window to run a specified program or command.
SUBST Associates a path with a drive letter.
SYSTEMINFO Displays machine specific properties and configuration.
TASKLIST Displays all currently running tasks including services.
TASKKILL Kill or stop a running process or application.
TIME Displays or sets the system time.
TITLE Sets the window title for a CMD.EXE session.
TREE Graphically displays the directory structure of a drive or
path.
TYPE Displays the contents of a text file.
VER Displays the Windows version.
VERIFY Tells Windows whether to verify that your files are written
correctly to a disk.
VOL Displays a disk volume label and serial number.
XCOPY Copies files and directory trees.
WMIC Displays WMI information inside interactive command shell.
For more information on tools see the command-line reference in the online help.
Help On A Specific Command
If you need help with any command, type /?
after the command.
> dir /?
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]
[drive:][path][filename]
Specifies drive, directory, and/or files to list.
/A Displays files with specified attributes.
attributes D Directories R Read-only files
H Hidden files A Files ready for archiving
S System files I Not content indexed files
L Reparse Points - Prefix meaning not
/B Uses bare format (no heading information or summary).
/C Display the thousand separator in file sizes. This is the
default. Use /-C to disable display of separator.
/D Same as wide but files are list sorted by column.
/L Uses lowercase.
/N New long list format where filenames are on the far right.
/O List by files in sorted order.
sortorder 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 Pauses after each screenful of information.
/Q Display the owner of the file.
/R Display alternate data streams of the file.
/S Displays files in specified directory and all subdirectories.
/T Controls which time field displayed or used for sorting
timefield C Creation
A Last Access
W Last Written
/W Uses wide list format.
/X This displays the short names generated for non-8dot3 file
names. The format is that of /N with the short name inserted
before the long name. If no short name is present, blanks are
displayed in its place.
/4 Displays four-digit years
Switches may be preset in the DIRCMD environment variable. Override
preset switches by prefixing any switch with - (hyphen)--for example, /-W.
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]
[drive:][path][filename]
Specifies drive, directory, and/or files to list.
/A Displays files with specified attributes.
attributes D Directories R Read-only files
H Hidden files A Files ready for archiving
S System files I Not content indexed files
L Reparse Points - Prefix meaning not
/B Uses bare format (no heading information or summary).
/C Display the thousand separator in file sizes. This is the
default. Use /-C to disable display of separator.
/D Same as wide but files are list sorted by column.
/L Uses lowercase.
/N New long list format where filenames are on the far right.
/O List by files in sorted order.
sortorder 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 Pauses after each screenful of information.
/Q Display the owner of the file.
/R Display alternate data streams of the file.
/S Displays files in specified directory and all subdirectories.
/T Controls which time field displayed or used for sorting
timefield C Creation
A Last Access
W Last Written
/W Uses wide list format.
/X This displays the short names generated for non-8dot3 file
names. The format is that of /N with the short name inserted
before the long name. If no short name is present, blanks are
displayed in its place.
/4 Displays four-digit years
Switches may be preset in the DIRCMD environment variable. Override
preset switches by prefixing any switch with - (hyphen)--for example, /-W.
Listing The Files
To list out files, you can use the dir
command.
> dir
Volume in drive C is OS
Volume Serial Number is 80AE-F0C7
Directory of C:\Users\mark
12/01/2017 02:13 PM <DIR> .
12/01/2017 02:13 PM <DIR> ..
12/01/2017 12:07 PM <DIR> .config
12/01/2017 01:23 PM <DIR> .docker
12/01/2017 12:12 PM 28 .gitconfig
12/01/2017 12:18 PM <DIR> .refresh
12/01/2017 11:44 AM <DIR> .vscode
12/01/2017 12:07 PM 121 .yarnrc
12/01/2017 11:17 AM <DIR> Contacts
12/01/2017 11:17 AM <DIR> Desktop
12/01/2017 11:17 AM <DIR> Documents
12/01/2017 02:14 PM <DIR> Downloads
12/01/2017 03:15 PM <DIR> Dropbox
12/01/2017 11:17 AM <DIR> Favorites
12/01/2017 11:53 AM <DIR> go
12/01/2017 11:19 AM <DIR> Links
12/01/2017 11:17 AM <DIR> Music
12/01/2017 02:25 PM <DIR> OneDrive
12/01/2017 11:18 AM <DIR> Pictures
09/02/2017 03:49 AM <DIR> Roaming
12/01/2017 11:17 AM <DIR> Saved Games
12/01/2017 11:18 AM <DIR> Searches
12/01/2017 11:17 AM <DIR> Videos
2 File(s) 149 bytes
21 Dir(s) 444,494,786,560 bytes free
Volume in drive C is OS
Volume Serial Number is 80AE-F0C7
Directory of C:\Users\mark
12/01/2017 02:13 PM <DIR> .
12/01/2017 02:13 PM <DIR> ..
12/01/2017 12:07 PM <DIR> .config
12/01/2017 01:23 PM <DIR> .docker
12/01/2017 12:12 PM 28 .gitconfig
12/01/2017 12:18 PM <DIR> .refresh
12/01/2017 11:44 AM <DIR> .vscode
12/01/2017 12:07 PM 121 .yarnrc
12/01/2017 11:17 AM <DIR> Contacts
12/01/2017 11:17 AM <DIR> Desktop
12/01/2017 11:17 AM <DIR> Documents
12/01/2017 02:14 PM <DIR> Downloads
12/01/2017 03:15 PM <DIR> Dropbox
12/01/2017 11:17 AM <DIR> Favorites
12/01/2017 11:53 AM <DIR> go
12/01/2017 11:19 AM <DIR> Links
12/01/2017 11:17 AM <DIR> Music
12/01/2017 02:25 PM <DIR> OneDrive
12/01/2017 11:18 AM <DIR> Pictures
09/02/2017 03:49 AM <DIR> Roaming
12/01/2017 11:17 AM <DIR> Saved Games
12/01/2017 11:18 AM <DIR> Searches
12/01/2017 11:17 AM <DIR> Videos
2 File(s) 149 bytes
21 Dir(s) 444,494,786,560 bytes free
You can paginate the results of the dir
command with the /p
flag.
> dir /p
Moving Into A Directory
To move into a directory, we use the cd
(change directory) command.
> cd Documents
> cd C:\Users
> cd "C:\Program Files"
Notice how we had to use quotes to move into a directory that has a space in the name.
Moving Back A Directory
You can also use the cd
command to move back a directory as well. To move back one directory, use the ..
syntax.
> cd ..
> cd JaneSmith
You can move back to the root directory
by using the \
symbol.
> cd \
Creating A Directory
use the mkdir
command to create a directory.
> mkdir test
You can use the dir
command to verify the directory has been created.
> dir test
Volume in drive C has no label.
Volume Serial Number is 64B9-7C73
Directory of C:\Users\JaneSmith\test
11/30/2017 06:58 PM <DIR> .
11/30/2017 06:58 PM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 232,169,328,640 bytes free
Switching Drives
You can switch drives by simply typing the name of the drive followed by the :
. To switch from the C
drive to the D
drive, issue the following command:
> D:\
Creating A File
You can create a file two different ways from the command line.
To touch
a file and simple create it as a completely blank file:
> type nul > main.go
To create a file with one line in it:
> echo "hello" > foo.txt
Start Command
You can use the start
command to run a command. For example, to open a file in notepad, you would use the following command:
> start notepad main.go
This will launch the notepad
application with the main.go
file loaded.
Additionally, you can open the current directory in windows explorer with this command:
> start .
Open Files/Folders With Visual Studio Code
If you have Visual Studio Code installed you can open a file directly from the command prompt.
> code foo.txt
You can also open the current folder/directory with Visual Studio Code.
> code .
Moving A File
You can use the move
command to move files.
> move main.go test\
1 file(s) moved.
This will move main.go
into the test
directory. Notice we didn't have to specify the file name if we want it to default to the current file name.
We can use the dir
command to verify the file was actually moved.
> dir test
Volume in drive C has no label.
Volume Serial Number is 64B9-7C73
Directory of C:\Users\JaneSmith\test
11/30/2017 06:59 PM <DIR> .
11/30/2017 06:59 PM <DIR> ..
11/30/2017 06:59 PM 0 main.go
1 File(s) 0 bytes
2 Dir(s) 232,169,332,736 bytes free
Copying A File
You can copy a file using the copy
command.
> copy main.go test\main.go
1 file(s) copied.
Rename A File
You can use the rename
command to rename a file.
> rename main.go main.txt
And again, we can verify it using the dir
command.
> dir test
Volume in drive C has no label.
Volume Serial Number is 64B9-7C73
Directory of C:\Users\JaneSmith\test
11/30/2017 07:00 PM <DIR> .
11/30/2017 07:00 PM <DIR> ..
11/30/2017 06:59 PM 0 main.txt
1 File(s) 0 bytes
2 Dir(s) 232,169,144,320 bytes free
Deleting A File
You can use the del
command to delete a file
> del main.go
Deleting A Directory
The rmdir
command can be used to delete a directory.
> rmdir test
This will NOT delete a directory that contains files. To delete a directory that is not empty, you must use the /S
flag.
> rmdir /S test
Renaming A Directory
You can rename a directory using the same command as renaming a file.
> rename test old
Closing Or Exiting The Window Command Line
To exit the command prompt, use the exit
command. This will close the current window you are in.
Environment Variables
You can use the set
keyword to list all the environment variables currently set for your command prompt:
C:\Users\JaneSmith>set
ALLUSERSPROFILE=C:\ProgramData
.
.
.
USERNAME=JaneSmith
USERPROFILE=C:\Users\JaneSmith
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log
Showing The Contents Of A File
Tab Completion
The command prompt will automatically complete file and folder names for you. Start by typing the beginning of the file or folder name that you want completed:
> cd Des
Then press the tab
key, and it will complete the name. If more than one name matches, pressing the tab
key repeatedly will cycle through all possible matches.
> cd Desktop
History
The command line keeps a history of the last commands you have run. There are several ways to see and use your history.
- Up Arrow: Recall the previous command you typed. Press the key repeatedly to walk through your command history.
- Down Arrow: Recall the next command you typed. Press the key repeatedly to walk through your command history.
- Page Up: Recall the first command you ran in the current Command Prompt session.
- Page Down: Recall the most recent command you ran in the current Command Prompt session.
- Esc: Clear the command line.
To bring up your entire history, press the F7
function key.
Command Line Overview
There are far too many commands to cover in this introduction. Here is a list for you to explore further: