New-Item
Erstellt ein neues Element.
Syntax
pathSet (Standard)
New-Item
[-Path] <String[]>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
nameSet
New-Item
[[-Path] <String[]>]
-Name <String>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet New-Item 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. Beispielsweise erstellt New-Item im Dateisystem Dateien und Ordner. In der Registrierung erstellt New-Item Registrierungsschlüssel und Einträge.
New-Item können auch den Wert der von ihr erstellten Elemente festlegen. Wenn sie beispielsweise eine neue Datei erstellt, kann New-Item der Datei anfänglichen Inhalt hinzufügen.For example, when it creates a new file, New-Item can add initial content to the file.
Beispiele
Beispiel 1: Erstellen einer Datei im aktuellen Verzeichnis
Mit diesem Befehl wird eine Textdatei mit dem Namen "testfile1.txt" im aktuellen Verzeichnis erstellt. Der Punkt ('.') im Wert des parameters Path gibt das aktuelle Verzeichnis an. Der an zitierte 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 namens "Logfiles" im C: Laufwerk erstellt. Der parameter ItemType gibt an, dass es sich bei dem neuen Element um ein Verzeichnis handelt, nicht um ein Datei- oder ein anderes Dateisystemobjekt.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Beispiel 3: Erstellen eines Profils
Mit diesem Befehl wird ein PowerShell-Profil im Pfad erstellt, 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, obwohl PowerShell einen Pfad und Dateinamen dafür speichert.
In diesem Befehl stellt die $profile Variable den Pfad der Datei dar.
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 in das 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 ein neues Skriptverzeichnis im Verzeichnis "C:\PS-Test" erstellt.
Der Name des neuen Verzeichniselements "Scripts" ist im Wert von Path Parameter enthalten, anstatt im Wert von Nameangegeben zu werden. Wie durch die Syntax angegeben, ist eines der Befehlsformulare gültig.
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 akzeptiert, können Sie sie 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 cmdlet New-Item unterstützt Im parameter Path Wildcards. Der folgende Befehl erstellt eine temp.txt Datei in allen Verzeichnissen, die durch die Wildcards im parameter Path 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 Cmdlet Get-ChildItem enthält drei Verzeichnisse unter dem Verzeichnis C:\Temp. Mithilfe von Wildcards erstellt das Cmdlet New-Item eine temp.txt Datei in allen Verzeichnissen unter dem aktuellen Verzeichnis. Das cmdlet New-Item gibt die von Ihnen erstellten Elemente aus, die an Select-Object weitergeleitet werden, um die Pfade der neu erstellten Dateien zu überprüfen.
Beispiel 7: Erstellen einer symbolischen Verknüpfung zu einer Datei oder einem Ordner
In diesem Beispiel wird eine symbolische Verknüpfung mit der 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 parameter Value. Das Ziel der symbolischen Verknüpfung kann ein relativer Pfad sein. Vor PowerShell v6.2 muss das Ziel ein vollqualifizierter Pfad sein.
Ab PowerShell 7.1 können Sie nun mithilfe eines relativen Pfads einen SymbolicLink- zu einem Ordner unter Windows erstellen.
Beispiel 8: Verwenden des -Force-Parameters, um zu versuchen, Ordner neu zu erstellen
In diesem Beispiel wird ein Ordner mit einer Datei erstellt. Versuchen Sie dann, denselben Ordner mithilfe von -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 -Force-Parameters zum Überschreiben vorhandener Dateien
In diesem Beispiel wird eine Datei mit einem Wert erstellt und anschließend mithilfe von -Forceneu erstellt. Dadurch wird die vorhandene Datei überschrieben und sie verliert ihren Inhalt, wie Sie an der length-Eigenschaft erkennen 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 New-Item mit der -Force Wechseln 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
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Hinweis
Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command, um die Identität eines anderen Benutzers zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Force
Erzwingt dieses Cmdlet, ein Element zu erstellen, das über ein vorhandenes schreibgeschütztes Element schreibt. Die Implementierung variiert von Anbieter zu Anbieter. Selbst bei Verwendung des Parameters Force kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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 in einem FileSystem Laufwerk befindet, sind die folgenden Werte zulässig:
- Datei
- Verzeichnis
- SymbolicLink
- Knotenpunkt
- HardLink
Hinweis
Für das Erstellen eines SymbolicLink Typs unter Windows ist eine Erhöhung als Administrator erforderlich. Windows 10 (Build 14972 oder höher) mit aktivierter Entwicklermodus erfordert jedoch keine Erhöhungserweiterungen, die symbolische Verknüpfungen erstellen.
In einem Certificate Laufwerk sind dies die Werte, die Sie angeben können:
- Zertifikatsanbieter
- Zertifikat
- Speichern
- Geschäftsstandort
Weitere Informationen finden Sie unter about_Providers.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Typ |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt den Namen des neuen Elements an. Sie können den Namen des neuen Elements im Name oder Path Parameterwert angeben, und Sie können den Pfad des neuen Elements in Name oder Path Wert angeben. Elementnamen, die mithilfe des parameters Name übergeben werden, werden relativ zum Wert des Path-Parameters erstellt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
nameSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad des Speicherorts des neuen Elements an. Der Standardwert ist der aktuelle Speicherort, wenn Path weggelassen wird. Sie können den Namen des neuen Elements in Nameangeben oder in Patheinschließen. Elementnamen, die mithilfe des parameters 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 Speicherorts übergeben. Der Anbieter unterstützt möglicherweise nicht alle Zeichen. Sie können z. B. keinen Dateinamen erstellen, der ein Sternchen (*) enthält.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | Current location |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
pathSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Value
Gibt den Wert des neuen Elements an. Sie können auch einen Wert an New-Itempfeifen.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Ziel |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
Object
Sie können einen Wert für das neue Element an dieses Cmdlet weiterleiten.
Ausgaben
Object
Dieses Cmdlet gibt das Element zurück, das es erstellt.
Hinweise
New-Item ist für die Arbeit mit den daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Geben Sie Get-PsProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.