New-Item

Module : Microsoft.PowerShell.Management

Crée un nouvel élément.

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

-Confirm

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
-Crédential

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

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

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

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

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

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

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.