Crée un nouvel élément.
- Syntaxe
- Description
- Exemples
- Exemple 1 : Créer un fichier dans le répertoire actuel
- Exemple 2 : Créer un répertoire
- Exemple 3 : Créer un profil
- Exemple 4 : créer un répertoire dans un répertoire différent
- Exemple 5 : créer plusieurs fichiers
- Exemple 6 : utiliser des caractères génériques pour créer des fichiers dans plusieurs répertoires
- Exemple 7 : Créer un lien symbolique vers un fichier ou un dossier
- Exemple 8 : Utiliser le paramètre -Force pour tenter de recréer des dossiers
- Exemple 9 : Utiliser le paramètre -Force pour écraser des fichiers existants
- Paramètres
- Entrées
- Sorties
- Notes
Syntaxe
New-Item <String>
New-Item <String>] -Name <String>
Description
La cmdlet New-Item
crée un nouvel élément et définit sa valeur. Les types d’éléments qui peuvent être créésdépendent de l’emplacement de l’élément. Par exemple, dans le système de fichiers, New-Item
crée des fichiers et des dossiers. Dans le registre, New-Item
crée des clés et des entrées de registre.
New-Item
peut également définir la valeur des éléments qu’il crée. Par exemple, lorsqu’il crée un newfile, New-Item
peut ajouter le contenu initial du fichier.
Exemples
Exemple 1 : Créer un fichier dans le répertoire actuel
Cette commande crée un fichier texte qui est nommé « testfile1.txt » dans le répertoire actuel. Le point (‘.’) dans la valeur du paramètre Path indique le répertoire actuel. Le texte entre guillemets qui suit le paramètre Value est ajouté au fichier comme contenu.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Exemple 2 : Créer un répertoire
Cette commande crée un répertoire nommé « Logfiles » dans le lecteur C:
. Le paramètre ItemType spécifie que le nouvel élément est un répertoire, et non un fichier ou un autre objet du système de fichiers.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Exemple 3 : Créer un profil
Cette commande crée un profil PowerShell dans le chemin qui est spécifié par la variable $profile
.
Vous pouvez utiliser des profils pour personnaliser PowerShell. $profile
est une variable automatique (intégrée) qui stocke le chemin et le nom de fichier du profil « CurrentUser/CurrentHost ». Par défaut, le profil n’existe pas, même si PowerShell stocke un chemin et un nom de fichier pour lui.
Dans cette commande, la variable $profile
représente le chemin du fichier. Le paramètre ItemType spécifie que la commande crée un fichier. Le paramètre Force vous permet de créer un fichier dans le chemin du profil, même si les répertoires du chemin n’existent pas.
Après avoir créé un profil, vous pouvez entrer des alias, des fonctions et des scripts dans le profil afin de personnaliser votre shell.
Pour plus d’informations, voir about_Automatic_Variableset about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Exemple 4 : créer un répertoire dans un répertoire différent
Cet exemple crée un nouveau répertoire Scripts dans le répertoire « C:\PS-Test ».
Le nom du nouvel élément de répertoire, « Scripts », est inclus dans la valeur du paramètre Path,au lieu d’être spécifié dans la valeur de Name. Comme l’indique la syntaxe, l’une ou l’autre forme de commande est valide.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Exemple 5 : créer plusieurs fichiers
Cet exemple crée des fichiers dans deux répertoires différents. Comme Path prend plusieurs chaînes de caractères, vous pouvez l’utiliser pour créer plusieurs éléments.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Exemple 6 : utiliser des caractères génériques pour créer des fichiers dans plusieurs répertoires
Le cmdlet New-Item
prend en charge les caractères génériques dans le paramètre Path. La commande suivante crée un fichiertemp.txt
dans tous les répertoires spécifiés par les caractères génériques dans le paramètre Path.
Get-ChildItem -Path C:\Temp\Directory: C:\TempMode LastWriteTime Length Name---- ------------- ------ ----d----- 5/15/2019 6:45 AM 1 Oned----- 5/15/2019 6:45 AM 1 Twod----- 5/15/2019 6:45 AM 1 ThreeNew-Item -Path * -Name temp.txt -ItemType File | Select-Object FullNameFullName--------C:\Temp\One\temp.txtC:\Temp\Three\temp.txtC:\Temp\Two\temp.txt
Le cmdlet Get-ChildItem
montre trois répertoires sous le répertoire C:\Temp
. En utilisant des caractères génériques, la cmdlet New-Item
crée un fichier temp.txt
dans tous les répertoires sous le répertoire courant. Le cmdlet New-Item
sort les éléments que vous avez créés, qui sont canalisés vers Select-Object
pour vérifier les chemins des fichiers nouvellement créés.
Exemple 7 : Créer un lien symbolique vers un fichier ou un dossier
Cet exemple crée un lien symbolique vers le fichier Notice.txt dans le dossier actuel.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt$link | Select-Object LinkType, TargetLinkType Target-------- ------SymbolicLink {.\Notice.txt}
Dans cet exemple, Target est un alias pour le paramètre Value. La cible du lien symboliquepeut être un chemin relatif. Avant PowerShell v6.2, la cible doit être un chemin entièrement qualifié.
Depuis PowerShell 7.1, vous pouvez maintenant créer à un SymbolicLink vers un dossier sur Windows en utilisant un chemin relatif.
Exemple 8 : Utiliser le paramètre -Force pour tenter de recréer des dossiers
Cet exemple crée un dossier avec un fichier à l’intérieur. Ensuite, il tente de créer le même dossier en utilisant-Force
. Il n’écrase pas le dossier mais renvoie simplement l’objet dossier existant avec le fichier créé intact.
PS> New-Item -Path .\TestFolder -ItemType DirectoryPS> New-Item -Path .\TestFolder\TestFile.txt -ItemType FilePS> New-Item -Path .\TestFolder -ItemType Directory -Force Directory: C:\Mode LastWriteTime Length Name---- ------------- ------ ----d----- 5/1/2020 8:03 AM TestFolderPS> Get-ChildItem .\TestFolder\ Directory: C:\TestFolderMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:03 AM 0 TestFile.txt
Exemple 9 : Utiliser le paramètre -Force pour écraser des fichiers existants
Cet exemple crée un fichier avec une valeur puis recrée le fichier en utilisant -Force
. Cela écraseLe fichier existant et il perdra son contenu comme vous pouvez le voir par la propriété length
PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file' Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 24 TestFile.txtNew-Item ./TestFile.txt -ItemType File -Force Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 0 TestFile.txt
Note
Lorsque vous utilisez New-Item
avec le commutateur -Force
pour créer des clés de registre, la commande se comportera de la même manière que lors de l’écrasement d’un fichier. Si la clé de registre existe déjà, la clé et toutes les propriétés et valeurs seront écrasées par une clé de registre vide.
Paramètres
Vous invite à confirmer avant d’exécuter le cmdlet.
Type: | SwitchParameter |
Alias: | cf |
Position : | Nommé |
Valeur par défaut: | Faux |
Acceptation de l’entrée du pipeline : | False |
Acceptation des caractères génériques : | False |
Note
Ce paramètre n’est pris en charge par aucun fournisseur installé avec PowerShell. Pour usurper l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette cmdlet, utilisez Invoke-Command
.
Type: | PSCredential |
Position: | Nommé |
Valeur par défaut: | Utilisateur actuel |
Accepter l’entrée du pipeline : | True |
Acceptation des caractères génériques: | False |
Force ce cmdlet à créer un élément qui écrit sur un élément existant en lecture seule. La mise en œuvre varie d’un fournisseur à l’autre. Même en utilisant le paramètre Force, le cmdlet ne peut pas passer outre les restrictions de sécurité.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Acceptation de l’entrée pipeline : | False |
Acceptation des caractères génériques: | False |
Spécifie le type spécifié par le fournisseur du nouvel élément. Les valeurs disponibles de ce paramètre dépendent du fournisseur actuel que vous utilisez.
Si votre emplacement se trouve dans un lecteur FileSystem
, les valeurs suivantes sont autorisées :
- File
- Directory
- SymbolicLink
- Junction
- HardLink
Note
Créer un type SymbolicLink
sous Windows nécessite une élévation en tant qu’administrateur. Cependant, Windows 10(build 14972 ou plus récent) avec le mode développeur activé ne nécessite plus d’élévation pour créer des liens symboliques.
Dans un lecteur Certificate
, voici les valeurs que vous pouvez spécifier :
- Certificate Provider
- Certificate
- Store
- StoreLocation
Pour plus d’informations, voir about_Providers.
Type: | String |
Alias: | Type |
Position: | Nommé |
Valeur par défaut : | None |
Acceptation de l’entrée pipeline: | True |
Acceptation des caractères génériques: | False |
Spécifie le nom du nouvel élément. Vous pouvez spécifier le nom du nouvel élément dans la valeur du paramètre Name ouPath, et vous pouvez spécifier le chemin du nouvel élément dans Name ou Pathvalue. Les noms des éléments passés à l’aide du paramètre Name sont créés relativement à la valeur du paramètrePath.
Type: | String |
Position: | Nommé |
Valeur par défaut: | None |
Acceptation de l’entrée pipeline : | True |
Acceptation des caractères génériques: | False |
Spécifie le chemin de l’emplacement du nouvel élément. La valeur par défaut est l’emplacement actuel lorsquePath est omis. Vous pouvez spécifier le nom du nouvel élément dans Name, ou l’inclure dansPath. Les noms des éléments passés à l’aide du paramètre Name sont créés relativement à la valeur du paramètrePath.
Pour ce cmdlet, le paramètre Path fonctionne comme le paramètre LiteralPath des autres cmdlets.Les caractères génériques ne sont pas interprétés. Tous les caractères sont transmis au fournisseur de l’emplacement. Le fournisseur peut ne pas prendre en charge tous les caractères. Par exemple, vous ne pouvez pas créer un nom de fichier qui contient un caractère astérisque (*
).
Type: | Chaîne |
Position: | 0 |
Valeur par défaut: | Emplacement actuel |
Acceptation de l’entrée pipeline : | True |
Acceptent les caractères génériques: | False |
Spécifie la valeur du nouvel élément. Vous pouvez également transmettre une valeur à New-Item
.
Type: | Objet |
Alias: | Target |
Position: | Nommé |
Valeur par défaut : | None |
Acceptation de l’entrée pipeline: | True |
Acceptation des caractères génériques: | False |
Montre ce qui se passerait si la cmdlet s’exécute.La cmdlet n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position : | Nommé |
Valeur par défaut: | Faux |
Acceptation des entrées du pipeline : | False |
Acceptation des caractères génériques : | False |
Entrées
Objet
Vous pouvez canaliser une valeur pour le nouvel élément vers ce cmdlet.
Sorties
Objet
Cette cmdlet retourne l’élément qu’elle crée.
Notes
New-Item
est conçue pour travailler avec les données exposées par n’importe quel fournisseur. Pour lister les fournisseurs disponibles dans votre session, tapez Get-PsProvider
. Pour plus d’informations, voir about_Providers.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- Move-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers