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.
Beispiel 7: Create eines symbolischen Links zu einer Datei oder einem Ordner
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 -Force
zu 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 -Force
neu 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-Command
Sie , 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
Sie können einen Wert für das neue Element an dieses Cmdlet übergeben.
Ausgaben
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.