New-Item

Module: Microsoft.PowerShell.Management

Maakt een nieuw item.

Syntax

New-Item <String> 
New-Item <String>] -Name <String> 

Description

Het cmdlet New-Item creëert een nieuw item en stelt de waarde ervan in. De soorten items die kunnen worden aangemaakt zijn afhankelijk van de locatie van het item. Bijvoorbeeld, in het bestandssysteem, creëert New-Item bestanden en mappen. In het register maakt New-Item registersleutels en vermeldingen.

New-Item kan ook de waarde instellen van de items die het maakt. Wanneer bijvoorbeeld een nieuw bestand wordt gemaakt, kan New-Item de eerste inhoud aan het bestand toevoegen.

Voorbeelden

Voorbeeld 1: Maak een bestand in de huidige directory

Deze opdracht maakt een tekstbestand met de naam “testfile1.txt” in de huidige directory. De punt (‘.’) in de waarde van de parameter Pad geeft de huidige directory aan. De geciteerde 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 directory maken

Dit commando maakt een directory met de naam “Logfiles” in de C:-drive. De parameter ItemType geeft aan dat het nieuwe item een directory is en geen bestand of ander bestandssysteemobject.

New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"

Voorbeeld 3: Maak een profiel

Deze opdracht maakt een PowerShell-profiel op het pad dat is opgegeven door de variabele $profile.

U kunt profielen gebruiken om PowerShell aan te passen. $profile is een automatische (ingebouwde) variabele die het pad en de bestandsnaam van het “CurrentUser/CurrentHost”-profiel opslaat. Standaard bestaat het profiel niet, ook al slaat PowerShell er een pad en bestandsnaam voor op.

In deze opdracht staat de variabele $profile voor het pad van het bestand. De parameter ItemType geeft aan dat de opdracht een bestand maakt. Met de parameter Force kunt u een bestand in het profielpad maken, zelfs wanneer de directory’s in het pad niet bestaan.

Nadat u een profiel hebt gemaakt, kunt u aliassen, functies en scripts in het profiel invoeren om uw shell aan te passen.

Voor meer informatie, zie about_Automatic_Variablesen about_Profiles.

New-Item -Path $profile -ItemType "file" -Force

Voorbeeld 4: Maak een directory in een andere directory

Dit voorbeeld maakt een nieuwe Scripts directory in de “C:\PS-Test” directory.

De naam van het nieuwe directory item, “Scripts”, wordt opgenomen in de waarde van de Path parameter, in plaats van te worden gespecificeerd in de waarde van Name. Zoals aangegeven door de syntaxis, zijn beide commandovormen geldig.

New-Item -ItemType "directory" -Path "c:\ps-test\scripts"

Voorbeeld 5: meerdere bestanden maken

Dit voorbeeld maakt bestanden in twee verschillende mappen. Omdat Path meerdere strings accepteert, kunt u het gebruiken om meerdere items aan te maken.

New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"

Voorbeeld 6: Gebruik jokertekens om bestanden in meerdere mappen aan te maken

Het cmdlet New-Item ondersteunt jokertekens in de parameter Path. Het volgende commando maakt eentemp.txt bestand in alle directories die zijn opgegeven door de jokertekens in de Path parameter.

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

Het Get-ChildItem cmdlet toont drie directories onder de C:\Temp directory. Door gebruik te maken van wildcards maakt het New-Item cmdlet een temp.txt bestand aan in alle directories onder de currentdirectory. Het cmdlet New-Item voert de gemaakte items uit, die naar Select-Object worden gepijpt om de paden van de nieuw gemaakte bestanden te verifiëren.

Example 7: Maak een symbolische link naar een bestand of map

Dit voorbeeld maakt een symbolische link naar het bestand Notice.txt in de huidige map.

$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt$link | Select-Object LinkType, TargetLinkType Target-------- ------SymbolicLink {.\Notice.txt}

In dit voorbeeld is Target een alias voor de parameter Value. Het doel van de symbolische koppeling kan een relatief pad zijn. Vóór PowerShell v6.2 moet het doel een volledig gekwalificeerd pad zijn.

Gegonnen in PowerShell 7.1, kunt u nu een SymbolicLink naar een map op Windows maken met behulp van een relatief pad.

Voorbeeld 8: Gebruik de parameter -Force om te proberen mappen opnieuw te maken

Dit voorbeeld maakt een map met een bestand erin. Dan probeert het dezelfde map te maken met-Force. De map wordt niet overschreven, maar het bestaande mapobject wordt teruggegeven met het bestand intact.

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

Voorbeeld 9: Gebruik de parameter -Force om bestaande bestanden te overschrijven

Dit voorbeeld maakt een bestand aan met een waarde en maakt dat bestand opnieuw aan met -Force. Dit overschrijft het bestaande bestand en het zal zijn inhoud verliezen zoals u kunt zien aan de lengte-eigenschap

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

Note

Wanneer u New-Item met de -Force schakelaar gebruikt om registersleutels te maken, zal het commando zich hetzelfde gedragen 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

Vraagt u om bevestiging voordat u het cmdlet uitvoert.

Type: SwitchParameter
Aliassen: cf
Positie: Naam
Afwijkwaarde: Valse
Accepteer pijplijninvoer: False
Accept wildcard characters: False
-Credential

Note

Deze parameter wordt niet ondersteund door providers die met PowerShell zijn geïnstalleerd. Gebruik Invoke-Command om u voor te doen als een andere gebruiker of om uw referenties te verhogen wanneer u dit cmdlet uitvoert.

Type: PSCredential
Position: Named
Default value: Current user
Accept pipeline input: True
Accept wildcard characters: False
-Force

Dwingt dit cmdlet om een item aan te maken dat over een bestaand read-only item heen schrijft. Implementatie verschilt van provider tot provider. Zelfs als de Force parameter wordt gebruikt, kan het cmdlet de beveiligingsbeperkingen niet opheffen.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ItemType

Specificeert het door de provider gespecificeerde 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:

  • Bestand
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Note

Om een SymbolicLink-type onder Windows te maken, moet u zich als beheerder aanmelden. Voor Windows 10 (build 14972 of nieuwer) met Ontwikkelaarsmodus ingeschakeld is echter geen verhoging meer nodig voor het maken van symbolische koppelingen.

In een Certificate schijf zijn dit de waarden die u kunt opgeven:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Voor meer informatie zie about_Providers.

Type: String
Aliassen: Type
Positie: Naam
Afwijkende waarde: None
Accept pipeline input: True
Accept wildcard characters: False
-Name

Specifieer 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 de parameterwaarde Naam of Pad. Items namen doorgegeven met de Name parameter worden gemaakt relatief ten opzichte van de waarde van dePath parameter.

Type: String
Position: Named
Default value: None
Accept pipeline-invoer: True
Accept wildcard characters: False
-Path

Specificeert het pad van de locatie van het nieuwe item. De standaardinstelling is de huidige locatie wanneerPath is weggelaten. U kunt de naam van het nieuwe item opgeven in Name, of deze opnemen inPath. Items namen doorgegeven met de Name parameter worden gecreëerd relatief aan de waarde van dePath parameter.

Voor dit cmdlet werkt de Path parameter als de LiteralPath parameter van andere cmdlets.Jokertekens worden niet geïnterpreteerd. Alle tekens worden doorgegeven aan de provider van de locatie. De provider ondersteunt mogelijk niet alle karakters. U kunt bijvoorbeeld geen bestandsnaam maken die eenasterisk (*) karakter bevat.

Type: String
Positie: 0
Voorkeurwaarde: Courante locatie
Accepteer invoer via pijplijn: True
Accept wildcard characters: False
-Value

Specificeert de waarde van het nieuwe item. U kunt ook een waarde door buizen naar New-Item.

Type: Object
Aliassen: Target
Positie: Naam
Voorkeurwaarde: None
Accept pipeline input: True
Accept wildcard characters: False
-WhatIf

Geeft aan wat er zou gebeuren als het cmdlet wordt uitgevoerd.Het cmdlet wordt niet uitgevoerd.

Type: SwitchParameter
Aliassen: wi
Positie: Naam
Afwijkwaarde: Valse
Accept pipeline input: False
Accept wildcard characters: False

Inputs

Object

Je kunt een waarde voor het nieuwe item naar dit cmdlet pijpen.

Outputs

Object

Dit cmdlet retourneert het item dat het heeft aangemaakt.

Notes

New-Item is ontworpen om te werken met de gegevens die door elke provider worden aangeboden. Typ Get-PsProvider om een lijst met beschikbare providers in uw sessie weer te geven. Zie about_Providers voor meer informatie.

  • Clear-Item
  • Copy-Item
  • Get-Item
  • Invoke-Item
  • Move-Item
  • Remove-Item
  • Rename-Item
  • Set-Item
  • about_Providers

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.