New-Item

Erstellt ein neues Element.

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

Beschreibung

Das New-Item Cmdlet erstellt ein neues Element und legt seinen Wert fest. Die Typen von Elementen, die erstellt werden können, hängen vom Speicherort des Elements ab. Erstellt beispielsweise im Dateisystem New-Item Dateien und Ordner. Erstellt in der Registrierung New-Item Registrierungsschlüssel und Einträge.

New-Item kann auch den Wert der elemente festlegen, die sie erstellt. Wenn sie beispielsweise eine neue Datei erstellt, New-Item können Sie der Datei erste Inhalte hinzufügen.

Beispiele

Beispiel 1: Erstellen einer Datei im aktuellen Verzeichnis

Dieser Befehl erstellt eine Textdatei mit dem Namen "testfile1.txt" im aktuellen Verzeichnis. Der Punkt ('.') im Wert des Pfadparameters gibt das aktuelle Verzeichnis an. Der zitierte Text, der dem Wertparameter folgt, wird der Datei als Inhalt hinzugefügt.

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

Beispiel 2: Erstellen eines Verzeichnisses

Dieser Befehl erstellt ein Verzeichnis namens "Logfiles" im C: Laufwerk. Der ItemType-Parameter gibt an, dass das neue Element ein Verzeichnis ist, nicht ein Datei- oder ein anderes Dateisystemobjekt.

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

Beispiel 3: Erstellen eines Profils

Dieser Befehl erstellt ein PowerShell-Profil im Pfad, der von der $profile Variablen angegeben wird.

Sie können Profile verwenden, um PowerShell anzupassen. $profile ist eine automatische (integrierte) Variable, die den Pfad und den Dateinamen des Profils "CurrentUser/CurrentHost" speichert. Standardmäßig ist das Profil nicht vorhanden, auch wenn PowerShell einen Pfad und Dateinamen für sie speichert.

In diesem Befehl stellt die $profile Variable den Pfad der Datei dar. Der ItemType-Parameter gibt an, dass der Befehl eine Datei erstellt. Mit dem Parameter Force können Sie eine Datei im Profilpfad erstellen, auch wenn die Verzeichnisse im Pfad nicht vorhanden sind.

Nachdem Sie ein Profil erstellt haben, können Sie Aliase, Funktionen und Skripts im Profil eingeben, um Ihre Shell anzupassen.

Weitere Informationen finden Sie unter about_Automatic_Variables und about_Profiles.

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

Beispiel 4: Erstellen eines Verzeichnisses in einem anderen Verzeichnis

In diesem Beispiel wird im Verzeichnis "C:\PS-Test" ein neues Skriptverzeichnis erstellt.

Der Name des neuen Verzeichniselements, "Skripts", ist im Wert des Pfadparameters enthalten, anstatt im Wert des Namens angegeben zu werden. Gemäß Syntax kann der Befehl auf beide Weisen angegeben werden.

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

Beispiel 5: Erstellen mehrerer Dateien

In diesem Beispiel werden Dateien in zwei verschiedenen Verzeichnissen erstellt. Da Path mehrere Zeichenfolgen benötigt, können Sie es verwenden, um mehrere Elemente zu erstellen.

New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"

Beispiel 6: Verwenden von Wildcards zum Erstellen von Dateien in mehreren Verzeichnissen

Das New-Item Cmdlet unterstützt Wildcards im Pfad-Parameter . Der folgende Befehl erstellt eine temp.txt Datei in allen verzeichnissen, die von den Wildcards im Path-Parameter angegeben werden.

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

Das Get-ChildItem Cmdlet zeigt drei Verzeichnisse unter dem C:\Temp Verzeichnis an. Mithilfe von Wildcards erstellt das New-Item Cmdlet eine temp.txt Datei in allen Verzeichnissen unter dem aktuellen Verzeichnis. Das New-Item Cmdlet gibt die von Ihnen erstellten Elemente aus, die weitergeleitet Select-Object werden, um die Pfade der neu erstellten Dateien zu überprüfen.

In diesem Beispiel wird ein symbolischer Link zur Notice.txt Datei im aktuellen Ordner erstellt.

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

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

In diesem Beispiel ist Ziel ein Alias für den Value-Parameter . Das Ziel des symbolischen Links kann ein relativer Pfad sein. Vor PowerShell v6.2 muss das Ziel ein vollqualifizierter Pfad sein.

Ab PowerShell 7.1 können Sie nun mit einem relativen Pfad einen SymbolLink zu einem Ordner unter Windows erstellen.

Beispiel 8: Verwenden des -Force-Parameters zum Versuch, Ordner neu zu erstellen

In diesem Beispiel wird ein Ordner mit einer Datei innerhalb erstellt. Versuchen Sie dann, denselben Ordner mithilfe -Forcevon . Der Ordner wird nicht überschrieben, sondern einfach das vorhandene Ordnerobjekt mit der datei zurückgegeben, die intakt erstellt wurde.

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

Beispiel 9: Verwenden des -Force-Parameters zum Überschreiben vorhandener Dateien

In diesem Beispiel wird eine Datei mit einem Wert erstellt und dann die Datei mithilfe -Forceneu erstellt. Dadurch wird die vorhandene Datei überschrieben, und sie verliert den Inhalt, da sie durch die Längeneigenschaft angezeigt wird.

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

Hinweis

Beim Verwenden New-Item des Schalters zum Erstellen von Registrierungsschlüsseln verhält sich der -Force Befehl genauso wie beim Überschreiben einer Datei. Wenn der Registrierungsschlüssel bereits vorhanden ist, wird der Schlüssel und alle Eigenschaften und Werte mit einem leeren Registrierungsschlüssel überschrieben.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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

-Credential

Hinweis

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Um einen anderen Benutzer zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen, verwenden Sie Invoke-Command.

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

-Force

Erzwingt dieses Cmdlet, ein Element zu erstellen, das über ein vorhandenes schreibgeschütztes Element schreibt. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Selbst bei Verwendung des Force-Parameters kann das Cmdlet Sicherheitseinschränkungen nicht außer Kraft setzen.

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

-ItemType

Gibt den vom Anbieter angegebenen Typ des neuen Elements an. Die verfügbaren Werte dieses Parameters hängen von dem aktuellen Anbieter ab, den Sie verwenden.

Wenn sich Ihr Standort in einem FileSystem Laufwerk befindet, sind die folgenden Werte zulässig:

  • Datei
  • Verzeichnis
  • SymbolLink
  • Verbindung
  • HardLink

Hinweis

Das Erstellen eines Typs unter Windows erfordert eine SymbolicLink Erhöhung als Administrator. Windows 10 (Build 14972 oder neuer) mit aktiviertem Entwicklermodus erfordert jedoch nicht mehr die Erhöhung beim Erstellen symbolischer Links.

In einem Certificate Laufwerk sind dies die Werte, die Sie angeben können:

  • Zertifikat-Anbieter
  • Zertifikat
  • Speicher
  • StoreLocation

Weitere Informationen finden Sie unter about_Providers.

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

-Name

Gibt den Namen des neuen Elements an. Sie können den Namen des neuen Elements im Wert "Name" oder "Pfad" angeben, und Sie können den Pfad des neuen Elements im Namen oder Pfadwert angeben. Elemente, die mit dem Parameter "Name " übergeben werden, werden relativ zum Wert des Pfadparameters erstellt.

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

-Path

Gibt den Pfad des Speicherorts des neuen Elements an. Der Standardwert ist der aktuelle Speicherort, wenn Pfad nicht angegeben wird. Sie können den Namen des neuen Elements in Name angeben oder in Path einschließen. Elemente, die mit dem Parameter "Name " übergeben werden, werden relativ zum Wert des Pfadparameters erstellt.

Für dieses Cmdlet funktioniert der Path-Parameter wie der LiteralPath-Parameter anderer Cmdlets. Freihalterzeichen werden nicht interpretiert. Alle Zeichen werden an den Anbieter des Speicherorts übergeben. Der Anbieter unterstützt möglicherweise nicht alle Zeichen. Sie können beispielsweise keinen Dateinamen erstellen, der ein Sternchen () enthält*.

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

-Value

Gibt den Wert des neuen Elements an. Sie können auch einen Wert an New-Item.

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

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

Eingaben

Object

Sie können einen Wert für das neue Element an dieses Cmdlet weiterleiten.

Ausgaben

Object

Dieses Cmdlet gibt das Element zurück, das er erstellt.

Hinweise

New-Item ist so konzipiert, dass die Von jedem Anbieter verfügbar gemachten Daten verwendet werden. Geben Sie Get-PsProviderzum Auflisten der in Ihrer Sitzung verfügbaren Anbieter ein. Weitere Informationen finden Sie unter about_Providers.