Erstellt ein neues Element.
- Syntax
- Beschreibung
- Beispiele
- Beispiel 1: Erstellen einer Datei im aktuellen Verzeichnis
- Beispiel 2: Erstellen eines Verzeichnisses
- Beispiel 3: Erstellen eines Profils
- Beispiel 4: Erstellen eines Verzeichnisses in einem anderen Verzeichnis
- Beispiel 5: Mehrere Dateien erstellen
- Beispiel 6: Verwenden von Platzhaltern zum Erstellen von Dateien in mehreren Verzeichnissen
- Beispiel 7: Erstellen eines symbolischen Links zu einer Datei oder einem Ordner
- Beispiel 8: Verwenden Sie den Parameter -Force, um zu versuchen, Ordner neu zu erstellen
- Beispiel 9: Verwenden Sie den Parameter -Force, um vorhandene Dateien zu überschreiben
- Parameter
- Inputs
- Ausgaben
- Hinweise
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-Object
geleitet 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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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