Creating Directories (mkdir)

Command Equivalents

Linux CommandPowerShell CmdletAliases
mkdirNew-Itemmkdir, md

Description

In PowerShell, the primary cmdlet for creating any new item in a provider is New-Item. However, for creating directories, it’s almost always used via its familiar mkdir alias.

When using the full New-Item cmdlet, you must specify that you are creating a directory by using the -ItemType Directory parameter. The mkdir alias handles this for you automatically.

Common Usage

Creating a Single Directory

To create a new directory in your current location, simply provide the name.

# Creates a new folder named 'MyProject'
mkdir MyProject

Creating a Directory at a Specific Path

You can create a directory anywhere in the file system by providing a full or relative path.

# Creates a 'logs' directory inside C:\Apps
mkdir C:\Apps\logs

Creating Nested Directories

A major advantage of PowerShell’s mkdir is that it can create an entire tree of nested directories in one command by default. This is equivalent to using the -p flag in Linux (mkdir -p).

# Creates 'FolderA', 'SubFolderB', and 'NestedFolderC' all at once
mkdir C:\Temp\FolderA\SubFolderB\NestedFolderC

Using the Full New-Item Cmdlet

While more verbose, using the full cmdlet explicitly shows what is happening. This is the command that mkdir is actually running behind the scenes.

New-Item -Path ".\AnotherProject" -ItemType Directory
Last updated on