Partager via


New-Item

Crée un élément.

Syntax

New-Item
   [-Path] <String[]>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-Item
   [[-Path] <String[]>]
   -Name <String>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

L’applet New-Item de commande crée un élément et définit sa valeur. Les types d’éléments qui peuvent être créés dépendent de l’emplacement de l’élément. Par exemple, dans le système de fichiers, crée des New-Item 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 fichier, New-Item peut ajouter du contenu initial au fichier.

Exemples

Exemple 1 : Create un fichier dans le répertoire actif

Cette commande crée un fichier texte nommé « testfile1.txt » dans le répertoire actif. Le point ('.') dans la valeur du paramètre Path indique le répertoire actif. Le texte entre guillemets qui suit le paramètre Value est ajouté au fichier en tant que contenu.

New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."

Exemple 2 : Create un répertoire

Cette commande crée un répertoire nommé « Logfiles » dans le C: lecteur. Le paramètre ItemType spécifie que le nouvel élément est un répertoire, et non un fichier ou un autre objet de système de fichiers.

New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"

Exemple 3 : Create un profil

Cette commande crée un profil PowerShell dans le chemin spécifié par la $profile variable.

Vous pouvez utiliser des profils pour personnaliser PowerShell. $profile est une variable automatique (intégrée) qui stocke le chemin d’accès et le nom de fichier du profil « CurrentUser/CurrentHost ». Par défaut, le profil n’existe pas, même si PowerShell stocke un chemin d’accès et un nom de fichier pour celui-ci.

Dans cette commande, la $profile variable 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 lorsque les répertoires du chemin d’accès n’existent pas.

Après avoir créé un profil, vous pouvez entrer des alias, des fonctions et des scripts dans le profil pour personnaliser votre interpréteur de commandes.

Pour plus d’informations, consultez about_Automatic_Variables et about_Profiles.

New-Item -Path $profile -ItemType "file" -Force

Exemple 4 : Create un répertoire dans un autre répertoire

Cet exemple crée un 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 indiqué par la syntaxe, les deux formes de commande sont valides.

New-Item -ItemType "directory" -Path "c:\ps-test\scripts"

Exemple 5 : Create plusieurs fichiers

Cet exemple crée des fichiers dans deux répertoires différents. Étant donné que Path accepte plusieurs chaînes, 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

L’applet New-Item de commande prend en charge les caractères génériques dans le paramètre Path . La commande suivante crée un temp.txt fichier 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:\Temp

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-----        5/15/2019   6:45 AM        1   One
d-----        5/15/2019   6:45 AM        1   Two
d-----        5/15/2019   6:45 AM        1   Three

New-Item -Path C:\Temp\* -Name temp.txt -ItemType File | Select-Object FullName

FullName
--------
C:\Temp\One\temp.txt
C:\Temp\Three\temp.txt
C:\Temp\Two\temp.txt

L’applet Get-ChildItem de commande affiche trois répertoires sous le C:\Temp répertoire . À l’aide de caractères génériques, l’applet New-Item de commande crée un temp.txt fichier dans tous les répertoires sous le répertoire actif. L’applet New-Item de commande génère les éléments que vous avez créés, qui sont dirigés vers Select-Object pour vérifier les chemins des fichiers nouvellement créés.

Exemple 7 : Create un lien symbolique vers un fichier ou un dossier

Cet exemple crée un lien symbolique vers le fichier Notice.txt dans le dossier actif.

$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target

LinkType     Target
--------     ------
SymbolicLink {.\Notice.txt}

Dans cet exemple, Target est un alias pour le paramètre Value . La cible du lien symbolique peut être un chemin relatif. Avant PowerShell v6.2, la cible doit être un chemin d’accès complet.

À compter de PowerShell 7.1, vous pouvez désormais créer un lien symbolique vers un dossier sur Windows à l’aide d’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, tente de créer le même dossier à l’aide -Forcede . Il ne remplace pas le dossier, mais retourne simplement l’objet folder existant avec le fichier créé intact.

PS> New-Item -Path .\TestFolder -ItemType Directory
PS> New-Item -Path .\TestFolder\TestFile.txt -ItemType File

PS> New-Item -Path .\TestFolder -ItemType Directory -Force

    Directory: C:\
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         5/1/2020   8:03 AM                TestFolder

PS> Get-ChildItem .\TestFolder\

    Directory: C:\TestFolder
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:03 AM              0 TestFile.txt

Exemple 9 : Utiliser le paramètre -Force pour remplacer des fichiers existants

Cet exemple crée un fichier avec une valeur, puis recrée le fichier à l’aide -Forcede . Cela remplace le fichier existant et il perd 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\Test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:32 AM             24 TestFile.txt

New-Item ./TestFile.txt -ItemType File -Force

    Directory: C:\Source\Test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         5/1/2020   8:32 AM              0 TestFile.txt

Notes

Lorsque vous utilisez New-Item avec le -Force commutateur pour créer des clés de Registre, la commande se comporte comme lors du remplacement d’un fichier. Si la clé de Registre existe déjà, la clé et toutes les propriétés et valeurs sont remplacées par une clé de Registre vide.

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Notes

Ce paramètre n’est pris en charge par aucun fournisseur installé avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Force cette applet de commande à créer un élément qui écrit sur un élément existant en lecture seule. L'implémentation est différente d'un fournisseur à l'autre. Même à l’aide du paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ItemType

Spécifie le type indiqué 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 FileSystem lecteur, les valeurs suivantes sont autorisées :

  • Fichier
  • Répertoire
  • SymbolicLink
  • jonction
  • HardLink

Notes

La création d’un SymbolicLink type sur Windows nécessite une élévation en tant qu’administrateur. Toutefois, Windows 10 (build 14972 ou ultérieure) avec le mode développeur activé ne nécessite plus d’élévation de liens symboliques.

Dans un Certificate lecteur, voici les valeurs que vous pouvez spécifier :

  • Fournisseur Certificate
  • Certificat
  • Magasin
  • StoreLocation

Pour plus d’informations , consultez about_Providers.

Type:String
Aliases:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 ou Path , et vous pouvez spécifier le chemin d’accès du nouvel élément dans Name ou Path value. Les noms d’éléments passés à l’aide du paramètre Name sont créés par rapport à la valeur du paramètre Path .

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Spécifie le chemin d’accès de l’emplacement du nouvel élément. La valeur par défaut est l’emplacement actuel lorsque Path est omis. Vous pouvez spécifier le nom du nouvel élément dans Nom ou l’inclure dans Chemin d’accès. Les noms d’éléments passés à l’aide du paramètre Name sont créés par rapport à la valeur du paramètre Path .

Pour cette applet de commande, le paramètre Path fonctionne comme le paramètre LiteralPath d’autres applets de commande. Les caractères génériques ne sont pas interprétés. Tous les caractères sont passés 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 astérisque (*).

Type:String[]
Position:0
Default value:Current location
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

Spécifie la valeur du nouvel élément. Vous pouvez également diriger une valeur vers New-Item.

Type:Object
Aliases:Target
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

Object

Vous pouvez diriger une valeur pour le nouvel élément vers cette applet de commande.

Sorties

Object

Cette applet de commande retourne l’élément qu’elle crée.

Notes

New-Item est conçu pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider. Pour plus d'informations, consultez about_Providers.