New-Item

Modul: Microsoft.PowerShell.Management

Erstellt ein neues Element.

Syntax

New-Item <String> 
New-Item <String>] -Name <String> 

Beschreibung

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

New-Item kann auch den Wert der von ihm erstellten Elemente festlegen. Wenn es beispielsweise eine neue Datei erstellt, kann New-Item der Datei einen Anfangsinhalt 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 Path-Parameters gibt das aktuelle Verzeichnis an. Der in Anführungszeichen gesetzte Text, 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: Erstellen eines Verzeichnisses

Mit diesem Befehl wird ein Verzeichnis mit dem Namen „Logfiles“ im Laufwerk C: erstellt. Der Parameter ItemType gibt an, dass es sich bei dem neuen Element um ein Verzeichnis und nicht um eine Datei oder ein anderes Dateisystemobjekt handelt.

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

Beispiel 3: Erstellen eines Profils

Dieser Befehl erstellt ein PowerShell-Profil in dem Pfad, der durch die Variable $profile 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, auch wenn PowerShell einen Pfad und einen Dateinamen dafür speichert.

In diesem Befehl stellt die Variable $profile 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 Skripte in das Profil eingeben, um Ihre Shell anzupassen.

Weitere Informationen finden Sie unter about_Automatic_Variablesund about_Profiles.

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

Beispiel 4: Erstellen eines Verzeichnisses in einem anderen Verzeichnis

In diesem Beispiel wird ein neues Verzeichnis „Scripts“ im Verzeichnis „C:\PS-Test“ erstellt.

Der Name des neuen Verzeichnisses, „Scripts“, ist im Wert des Path-Parameters enthalten, anstatt im Wert von Name angegeben zu werden. Wie die Syntax zeigt, sind beide Befehlsformen gültig.

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

Beispiel 5: Mehrere Dateien erstellen

In diesem Beispiel werden Dateien in zwei verschiedenen Verzeichnissen erstellt. Da Path mehrere Zeichenfolgen akzeptiert, können Sie damit mehrere Elemente erstellen.

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

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

Das Cmdlet New-Item unterstützt Platzhalter im Path-Parameter. Mit dem folgenden Befehl wird einetemp.txt-Datei in allen Verzeichnissen erstellt, die durch die Platzhalter im Path-Parameter angegeben sind.

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

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

Beispiel 7: Erstellen eines symbolischen Links zu einer Datei oder einem Ordner

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

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

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

Seit PowerShell 7.1 können Sie jetzt einen symbolischen Link zu einem Ordner unter Windows mit einem relativen Pfad erstellen.

Beispiel 8: Verwenden Sie den Parameter -Force, um zu versuchen, Ordner neu zu erstellen

In diesem Beispiel wird ein Ordner mit einer Datei darin erstellt. Dann wird versucht, denselben Ordner mit-Force zu erstellen. Der Ordner wird nicht überschrieben, sondern es wird einfach das vorhandene Ordnerobjekt mit der erstellten Datei zurückgegeben.

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

Beispiel 9: Verwenden Sie den Parameter -Force, um vorhandene Dateien zu überschreiben

In diesem Beispiel wird eine Datei mit einem Wert erstellt und dann mit -Force neu erstellt. Dadurch wird die vorhandene Datei überschrieben und ihr Inhalt geht verloren, wie Sie an der Längeneigenschaft sehen können

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

Hinweis

Wenn Sie New-Item mit dem Schalter -Force zum Erstellen von Registrierungsschlüsseln verwenden, 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

-Bestätigung

Fordern Sie eine Bestätigung an, bevor Sie das Cmdlet ausführen.

Typ: SwitchParameter
Aliases: cf
Position: Benannt
Standardwert: False
Akzeptiere Pipeline-Eingabe: False
Accept wildcard characters: False
-Credential

Hinweis

Dieser Parameter wird von keinem mit PowerShell installierten Anbieter unterstützt. Verwenden Sie Invoke-Command, um bei der Ausführung dieses Cmdlets einen anderen Benutzer zu verkörpern oder Ihre Anmeldeinformationen zu erhöhen.

Typ: PSCredential
Position: Benannt
Standardwert: Aktueller Benutzer
Akzeptiere Pipelineeingabe: True
Accept wildcard characters: False
-Force

Zwingt dieses Cmdlet zum Erstellen eines Elements, das ein vorhandenes schreibgeschütztes Element überschreibt. Die Implementierung variiert von Anbieter zu Anbieter. Selbst bei Verwendung des Force-Parameters kann das Cmdlet die Sicherheitseinschränkungen nicht außer Kraft setzen.

Typ: SwitchParameter
Position: Benannt
Standardwert: Keine
Akzeptieren von Pipelineeingaben: False
Accept wildcard characters: False

-ItemType

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

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

  • Datei
  • Verzeichnis
  • Symbolische Verknüpfung
  • Verzweigung
  • HardLink

Hinweis

Das Erstellen eines SymbolicLink-Typs unter Windows erfordert eine Berechtigung als Administrator. Unter Windows 10 (Build 14972 oder neuer) mit aktiviertem Entwicklermodus ist jedoch keine Berechtigungserweiterung mehr erforderlich, um symbolische Links zu erstellen.

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

  • Zertifikatsprovider
  • Zertifikat
  • Speicher
  • Speicherort

Weitere Informationen finden Sie unter about_Providers.

Typ: String
Aliases: Typ
Position: Name
Standardwert: Keine
Akzeptiere Pipeline-Eingabe: Wahr
Akzeptiere Platzhalterzeichen: Falsch
-Name

Bestimmt den Namen des neuen Elements. Sie können den Namen des neuen Elements im Name- oderPath-Parameterwert angeben, und Sie können den Pfad des neuen Elements in Name oder Pathvalue angeben. Elementnamen, die mit dem Name-Parameter übergeben werden, werden relativ zum Wert desPath -Parameters erstellt.

Typ: String
Position: Name
Standardwert: Keine
Akzeptieren von Pipelineeingaben: True
Accept wildcard characters: False
-Path

Spezifiziert den Pfad des Speicherorts des neuen Elements. Der Standardwert ist der aktuelle Speicherort, wennPfad nicht angegeben wird. Sie können den Namen des neuen Elements in Name angeben oder ihn inPath einschließen. Elementnamen, die mit dem Name-Parameter übergeben werden, werden relativ zum Wert desPath -Parameters erstellt.

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

Typ: Zeichenkette
Position: 0
Standardwert: Aktueller Standort
Akzeptiere Pipelineeingabe: True
Accept wildcard characters: False
-Value

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

Typ: Objekt
Aliases: Ziel
Position: Benannt
Standardwert: Keine
Pipeline-Eingabe akzeptieren: Wahr
Platzhalterzeichen akzeptieren: Falsch
-WhatIf

Zeigt an, was passieren würde, wenn das Cmdlet ausgeführt wird.Das Cmdlet wird nicht ausgeführt.

Typ: SwitchParameter
Aliases: wi
Position: Benannt
Standardwert: False
Akzeptiere Pipeline-Eingabe: False
Accept wildcard characters: False

Inputs

Object

Sie können über die Pipeline einen Wert für das neue Element an dieses Cmdlet übergeben.

Ausgaben

Objekt

Dieses Cmdlet gibt das erstellte Element zurück.

Hinweise

New-Item ist so konzipiert, dass es mit den von jedem Anbieter bereitgestellten Daten arbeitet. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, geben Sie Get-PsProvider ein. Weitere Informationen finden Sie unter about_Providers.

  • Eintrag löschen
  • Eintrag kopieren
  • Eintrag abrufen
  • Eintrag verschieben
  • Eintrag entfernen
  • Eintrag umbenennen
  • Eintrag einstellen
  • über_Provider

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.