Maakt een nieuw item.
- Syntax
- Description
- Voorbeelden
- Voorbeeld 1: Maak een bestand in de huidige directory
- Voorbeeld 2: Een directory maken
- Voorbeeld 3: Maak een profiel
- Voorbeeld 4: Maak een directory in een andere directory
- Voorbeeld 5: meerdere bestanden maken
- Voorbeeld 6: Gebruik jokertekens om bestanden in meerdere mappen aan te maken
- Example 7: Maak een symbolische link naar een bestand of map
- Voorbeeld 8: Gebruik de parameter -Force om te proberen mappen opnieuw te maken
- Voorbeeld 9: Gebruik de parameter -Force om bestaande bestanden te overschrijven
- Parameters
- Inputs
- Outputs
- Notes
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
Vraagt u om bevestiging voordat u het cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Positie: | Naam |
Afwijkwaarde: | Valse |
Accepteer pijplijninvoer: | False |
Accept wildcard characters: | False |
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 |
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 |
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 |
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 |
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 |
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 |
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