New-Item
Hiermee maakt u een nieuw item.
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>]
Description
Met de New-Item
cmdlet maakt u een nieuw item en stelt u de waarde in. De typen items die kunnen worden gemaakt, zijn afhankelijk van de locatie van het item. In het bestandssysteem New-Item
worden bijvoorbeeld bestanden en mappen gemaakt. In het register New-Item
maakt u registersleutels en vermeldingen.
New-Item
kan ook de waarde instellen van de items die worden gemaakt. Wanneer er bijvoorbeeld een nieuw bestand wordt gemaakt, New-Item
kunt u initiële inhoud toevoegen aan het bestand.
Voorbeelden
Voorbeeld 1: Een bestand maken in de huidige map
Met deze opdracht maakt u een tekstbestand met de naam 'testfile1.txt' in de huidige map. De punt ('.') in de waarde van de parameter Path geeft de huidige map aan. De tekst die volgt op de parameter Waarde wordt als inhoud aan het bestand toegevoegd.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Voorbeeld 2: Een map maken
Met deze opdracht maakt u een map met de naam Logfiles in het C:
station. De parameter ItemType geeft aan dat het nieuwe item een map is, niet een bestand of een ander bestandssysteemobject.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Voorbeeld 3: Een profiel maken
Met deze opdracht maakt u een PowerShell-profiel in het pad dat is opgegeven door de $profile
variabele.
U kunt profielen gebruiken om PowerShell aan te passen. $profile
is een automatische (ingebouwde) variabele waarin het pad en de bestandsnaam van het profiel CurrentUser/CurrentHost worden opgeslagen. Standaard bestaat het profiel niet, ook al slaat PowerShell er een pad en bestandsnaam voor op.
In deze opdracht vertegenwoordigt de $profile
variabele het pad van het bestand. De parameter ItemType geeft aan dat met de opdracht een bestand wordt gemaakt. Met de parameter Force kunt u een bestand maken in het profielpad, zelfs als de mappen in het pad niet bestaan.
Nadat u een profiel hebt gemaakt, kunt u aliassen, functies en scripts invoeren in het profiel om uw shell aan te passen.
Zie about_Automatic_Variables en about_Profiles voor meer informatie.
New-Item -Path $profile -ItemType "file" -Force
Voorbeeld 4: Een map maken in een andere map
In dit voorbeeld wordt een nieuwe map Scripts gemaakt in de map C:\PS-Test.
De naam van het nieuwe mapitem 'Scripts', wordt opgenomen in de waarde van de parameter Path , in plaats van te worden opgegeven in de waarde van Naam. Zoals aangegeven met de syntaxis, is een van beide opdrachtformulieren geldig.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Voorbeeld 5: Meerdere bestanden maken
In dit voorbeeld worden bestanden in twee verschillende mappen gemaakt. Omdat Path meerdere tekenreeksen gebruikt, kunt u deze gebruiken om meerdere items te maken.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Voorbeeld 6: Jokertekens gebruiken om bestanden in meerdere mappen te maken
De New-Item
cmdlet ondersteunt jokertekens in de parameter Path . Met de volgende opdracht maakt u een temp.txt
bestand in alle mappen die zijn opgegeven door de jokertekens in de parameter Path .
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
De Get-ChildItem
cmdlet toont drie mappen onder de C:\Temp
map. Met jokertekens maakt de New-Item
cmdlet een temp.txt
bestand in alle mappen onder de huidige map. De New-Item
cmdlet voert de items uit die u hebt gemaakt. Deze wordt doorgesluisd om Select-Object
de paden van de zojuist gemaakte bestanden te controleren.
Voorbeeld 7: Een symbolische koppeling maken naar een bestand of map
In dit voorbeeld wordt een symbolische koppeling gemaakt naar het Notice.txt-bestand in de huidige map.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
In dit voorbeeld is Target een alias voor de parameter Waarde . Het doel van de symbolische koppeling kan een relatief pad zijn. Vóór PowerShell v6.2 moet het doel een volledig gekwalificeerd pad zijn.
Vanaf PowerShell 7.1 kunt u nu een symbolische koppeling maken naar een map in Windows met behulp van een relatief pad.
Voorbeeld 8: De parameter -Force gebruiken om mappen opnieuw te maken
In dit voorbeeld wordt een map gemaakt met een bestand erin. Vervolgens probeert u dezelfde map te maken met behulp van -Force
. De map wordt niet overschreven, maar retourneert gewoon het bestaande mapobject met het bestand dat is gemaakt intact.
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
Voorbeeld 9: de parameter -Force gebruiken om bestaande bestanden te overschrijven
In dit voorbeeld wordt een bestand met een waarde gemaakt en wordt het bestand vervolgens opnieuw gemaakt met behulp van -Force
. Hierdoor wordt het bestaande bestand overschreven en gaat de inhoud verloren, zoals u kunt zien door de lengte-eigenschap
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
Notitie
Wanneer u New-Item
de schakeloptie gebruikt -Force
om registersleutels te maken, gedraagt de opdracht zich hetzelfde als bij het overschrijven van een bestand. Als de registersleutel al bestaat, worden de sleutel en alle eigenschappen en waarden overschreven met een lege registersleutel.
Parameters
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Notitie
Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command
.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Hiermee dwingt u deze cmdlet om een item te maken dat over een bestaand alleen-lezenitem schrijft. Implementatie varieert van provider tot provider. Zelfs als u de parameter Force gebruikt, kan de cmdlet geen beveiligingsbeperkingen overschrijven.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ItemType
Hiermee geeft u het door de provider opgegeven type van het nieuwe item. De beschikbare waarden van deze parameter zijn afhankelijk van de huidige provider die u gebruikt.
Als uw locatie zich in een FileSystem
station bevindt, zijn de volgende waarden toegestaan:
- File
- Directory
- Symbolischelink
- Verbinding
- Hardlink
Notitie
Voor het maken van een SymbolicLink
type in Windows is uitbreiding als beheerder vereist. Windows 10 (build 14972 of hoger) waarvoor de ontwikkelaarsmodus is ingeschakeld, vereist echter geen uitbreiding meer voor het maken van symbolische koppelingen.
In een Certificate
station zijn dit de waarden die u kunt opgeven:
- Certificaatprovider
- Certificaat
- Opslaan
- StoreLocation
Zie about_Providers voor meer informatie.
Type: | String |
Aliases: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Hiermee geeft u de naam van het nieuwe item. U kunt de naam van het nieuwe item opgeven in de parameterwaarde Naam of Pad en u kunt het pad van het nieuwe item opgeven in naam of padwaarde . Itemsnamen die worden doorgegeven met behulp van de parameter Name , worden gemaakt ten opzichte van de waarde van de parameter Path .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Hiermee geeft u het pad van de locatie van het nieuwe item. De standaardlocatie is de huidige locatie wanneer pad wordt weggelaten. U kunt de naam van het nieuwe item opgeven in Naam of opnemen in Pad. Itemsnamen die worden doorgegeven met behulp van de parameter Name , worden gemaakt ten opzichte van de waarde van de parameter Path .
Voor deze cmdlet werkt de path-parameter net als de parameter LiteralPath van andere cmdlets.
Jokertekens worden niet geïnterpreteerd. Alle tekens worden doorgegeven aan de provider van de locatie. De provider ondersteunt mogelijk niet alle tekens. U kunt bijvoorbeeld geen bestandsnaam maken die een sterretje (*
) bevat.
Type: | String[] |
Position: | 0 |
Default value: | Current location |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
Hiermee geeft u de waarde van het nieuwe item op. U kunt ook een waarde doorsluisen naar New-Item
.
Type: | Object |
Aliases: | Target |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt een waarde voor het nieuwe item doorsluisen naar deze cmdlet.
Uitvoerwaarden
Met deze cmdlet wordt het item geretourneerd dat wordt gemaakt.
Notities
New-Item
is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PsProvider
. Zie about_Providers voor meer informatie.