Create a new item in a namespace. Create files and folders, registry keys and registry entries.

      New-Item [-name] string [-path string ]
         [-force] [-credential PSCredential] [-itemType string]
            [-value Object] [-whatIf] [-confirm]
               [-UseTransaction] [CommonParameters]

   -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.

       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

       Describe what would happen if you executed the command without 
       actually executing the command.
       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.

       Include the command in the active transaction.

       -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.


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 Commands:

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

Copyright © 1999-2018
Some rights reserved