Create a new item in a namespace. Create files and folders, registry keys and registry entries.
Syntax New-Item [-name] string [-path string ] [-force] [-credential PSCredential] [-itemType string] [-value Object] [-whatIf] [-confirm] [-UseTransaction] [CommonParameters] Key -name string The name of the new item. -path string The path(s) to the items. Wildcards are permitted. Use a dot (.) to specify the current location. -value Object The value the new item, can be piped. -force Override restrictions that prevent the command from succeeding, apart from security settings. e.g. rename an existing file. Create a file when the directories in the path do not exist (PowerShell will create them) -itemType string The provider-specified type of the new item for the file system: file, directory -Type string An alias for -itemType above -whatIf Describe what would happen if you executed the command without actually executing the command. -confirm Prompt for confirmation before executing the command. -credential PSCredential Use a credential to validate access to the file. Credential represents a user-name, such as "User64" or "Domain64\User64", or a PSCredential object, such as the one retrieved by using the Get-Credential cmdlet. If you type a user name, you will be prompted for a password. This parameter is not supported by any PowerShell core cmdlets or providers. -UseTransaction Include the command in the active transaction. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Standard Aliases for New-Item: md, ni
mkdir is a function that calls New-Item
New-Item creates a new item and sets its value. The types of items that can be created depend upon the location of the item. For example, in the file system, New-Item is used to create files and folders. In the registry, New-Item creates registry keys and entries.
New-Item can also set the value of the items that it creates. For example, when creating a new file, New-Item can add initial content to the file.
By default new-item will display the item just created, in fact it writes to the pipeline (which by default is passed to the host). This can be suppressed by assigning to a dummy variable ($null = new-item...) or just redirecting the pipeline to out-null.
Examples
Create a text file:
PS C:\> new-item -path C:\docs -name SS64.txt -type "file" -value "some text"
Note that this won't overwrite an existing file; to overwrite an existing file, use set-content instead of new-item.
Create a directory named 'Demo Folder' in the C: drive:
PS C:\> new-item -path c:\ -name "Demo Folder" -type directory
Create a new variable called $myVar:
PS C:\> new-item variable:\myVar -value "testing123"
If a folder does not exist, then create it:
if ( -Not (Test-Path "F:\BACKUP"))
{
New-Item -Path "F:\BACKUP" -ItemType Directory | out-null
}
Create a PowerShell profile in the path specified by the $profile variable:
PS C:\> new-item -path $profile -type file -force
$profile is an automatic (built-in) variable that stores the path and file name of your PowerShell profile
By default, the profile file does not exist, even though PowerShell has a filename for it, the file can be created using New-Item or notepad.
After using the command above to create a profile, you can enter aliases, functions, and scripts in the profile to customize your shell.
“Selection is creation” ~ Koichi (Japanese Interior Designer)
Related PowerShell Cmdlets:
Clear-item - Remove content from a variable or an alias.
Copy-item - Copy an item from a namespace location.
Get-item - Return an object that represents an item in a namespace.
Invoke-item - Invoke an executable or open a file (START).
Move-item - Move an item from one location to another.
New-Object - Create a new .Net object.
Set-item - Set the value of a provider pathname.
Remove-item - Remove an item.
Rename-item - Change the name of an existing item.
Help about_automatic_variables.