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.
Beispiel 7: Erstellen 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 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 -Force
von . 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 -Force
neu 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
Sie können einen Wert für das neue Element an dieses Cmdlet weiterleiten.
Ausgaben
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-PsProvider
zum Auflisten der in Ihrer Sitzung verfügbaren Anbieter ein. Weitere Informationen finden Sie unter about_Providers.