Freigeben über


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 dessen 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 erstellten Elemente festlegen. Wenn z. B. eine neue Datei erstellt wird, New-Item kann der Datei anfangs Inhalt hinzugefügt werden.

Beispiele

Beispiel 1: Create einer Datei im aktuellen Verzeichnis

Dieser Befehl erstellt eine Textdatei mit dem Namen "testfile1.txt" im aktuellen Verzeichnis. Der Punkt (".") im Wert des Path-Parameters gibt das aktuelle Verzeichnis an. Der Text in Anführungszeichen, der auf den Value-Parameter folgt, wird der Datei als Inhalt hinzugefügt.

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

Beispiel 2: Create eines Verzeichnisses

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

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

Beispiel 3: Create eines Profils

Dieser Befehl erstellt ein PowerShell-Profil in dem 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 dateinamen des Profils "CurrentUser/CurrentHost" speichert. Standardmäßig ist das Profil nicht vorhanden, obwohl PowerShell einen Pfad und dateinamen dafür 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 Force-Parameter 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 in das Profil eingeben, um Die Shell anzupassen.

Weitere Informationen finden Sie unter about_Automatic_Variables und about_Profiles.

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

Beispiel 4: Create eines Verzeichnisses in einem anderen Verzeichnis

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

Der Name des neuen Verzeichniselements "Scripts" ist im Wert des Path-Parameters enthalten, anstatt im Wert von Name angegeben zu werden. Gemäß Syntax kann der Befehl auf beide Weisen angegeben werden.

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

Beispiel 5: Create mehrerer Dateien

In diesem Beispiel werden Dateien in zwei verschiedenen Verzeichnissen erstellt. Da Path mehrere Zeichenfolgen verwendet, können Sie ihn 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 Path-Parameter . Der folgende Befehl erstellt eine temp.txt Datei in allen Verzeichnissen, die durch die 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 * -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 im aktuellen Verzeichnis. Das New-Item Cmdlet gibt die von Ihnen erstellten Elemente aus, an die die Pipeline übergeben Select-Object wird, 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 Target ein Alias für den Value-Parameter . Das Ziel der symbolischen Verknüpfung kann ein relativer Pfad sein. Vor PowerShell v6.2 muss das Ziel ein vollqualifizierter Pfad sein.

Achtung

Wenn Sie einen SymbolicLink zu einem Ordner unter Windows erstellen, müssen Sie einen vollqualifizierten Pfad verwenden. Wenn Sie einen relativen Pfad verwenden, wird der Link als Dateityplink anstelle eines Verzeichnistyplinks erstellt.

Beispiel 8: Verwenden des Parameters -Force zum Neu erstellen von Ordnern

In diesem Beispiel wird ein Ordner mit einer Datei erstellt. Versucht dann, denselben Ordner mit -Forcezu erstellen. Der Ordner wird nicht überschrieben, sondern einfach das vorhandene Ordnerobjekt mit der erstellten Datei zurückgegeben.

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 Parameters -Force zum Überschreiben vorhandener Dateien

In diesem Beispiel wird eine Datei mit einem Wert erstellt, und anschließend wird die Datei mithilfe von -Forceneu erstellt. Dadurch wird die vorhandene Datei überschrieben, und sie verliert ihren Inhalt, wie Sie anhand der length-Eigenschaft sehen können.

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

Wenn Sie mit dem -Force Schalter zum Erstellen von Registrierungsschlüsseln verwendenNew-Item, verhält sich der Befehl genauso wie beim Überschreiben einer Datei. Wenn der Registrierungsschlüssel bereits vorhanden ist, werden 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. Verwenden Invoke-CommandSie , um die Identität eines anderen Benutzers zu annehmen oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.

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

-Force

Erzwingt, dass dieses Cmdlet ein Element erstellt, das über ein vorhandenes schreibgeschütztes Element schreibt. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Selbst mit dem Force-Parameter kann das Cmdlet keine Sicherheitseinschränkungen 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 vom aktuellen Anbieter ab, den Sie verwenden.

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

  • Datei
  • Verzeichnis
  • SymbolicLink
  • Verbindung
  • HardLink

Hinweis

Das Erstellen eines Typs SymbolicLink unter Windows erfordert rechte Rechte als Administrator. Für Windows 10 (Build 14972 oder höher) mit aktiviertem Entwicklermodus ist jedoch keine Erhöhung mehr erforderlich, um symbolische Verknüpfungen zu erstellen.

Auf einem Certificate Laufwerk können Sie die folgenden Werte angeben:

  • 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 Parameterwert Name oder Path angeben, und Sie können den Pfad des neuen Elements unter Name oder Path-Wert angeben. Elementnamen, die mit dem Parameter Name übergeben werden, werden relativ zum Wert des Path-Parameters 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 ausgelassen wird. Sie können den Namen des neuen Elements in Name angeben oder in Path einschließen. Elementnamen, die mit dem Parameter Name übergeben werden, werden relativ zum Wert des Path-Parameters erstellt.

Für dieses Cmdlet funktioniert der Path-Parameter wie der LiteralPath-Parameter anderer Cmdlets. Wildcardzeichen werden nicht interpretiert. Alle Zeichen werden an den Anbieter des Standorts ü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 übergeben 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 übergeben.

Ausgaben

Object

Dieses Cmdlet gibt das element zurück, das erstellt wird.

Hinweise

New-Item ist für die Arbeit mit den Daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, geben Sie ein Get-PsProvider. Weitere Informationen finden Sie unter about_Providers.