New-Item

Modul: Microsoft.PowerShell.Management

Skapa ett nytt objekt.

Syntax

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

Beskrivning

Cmdletten New-Item skapar ett nytt objekt och anger dess värde. De typer av objekt som kan skapas beror på var objektet är placerat. I filsystemet skapar New-Item till exempel filer och mappar. I registret skapar New-Item registernycklar och registerposter.

New-Item kan också ange värdet på de objekt som skapas. När den till exempel skapar en ny fil kan New-Item lägga till initialt innehåll i filen.

Exempel

Exempel 1: Skapa en fil i den aktuella katalogen

Detta kommando skapar en textfil som heter ”testfile1.txt” i den aktuella katalogen. Punkten(’.’) i värdet för Path-parametern anger den aktuella katalogen. Den citerade texten somföljer parametern Value läggs till i filen som innehåll.

New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."

Exempel 2: Skapa en katalog

Detta kommando skapar en katalog som heter ”Logfiles” i enheten C:. Parametern ItemType anger att det nya objektet är en katalog, inte en fil eller ett annat filsystemobjekt.

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

Exempel 3: Skapa en profil

Detta kommando skapar en PowerShell-profil i den sökväg som anges av variabeln $profile.

Du kan använda profiler för att anpassa PowerShell. $profile är en automatisk (inbyggd) variabel som lagrar sökvägen och filnamnet för profilen ”CurrentUser/CurrentHost”. Som standard finns profilen inte, även om PowerShell lagrar en sökväg och ett filnamn för den.

I det här kommandot representerar variabeln $profile sökvägen till filen. Parametern ItemType anger att kommandot skapar en fil. Med parametern Force kan du skapa en fil i profilsökvägen, även om katalogerna i sökvägen inte finns.

När du har skapat en profil kan du ange alias, funktioner och skript i profilen för att anpassa skalet.

För mer information, se about_Automatic_Variablesoch about_Profiles.

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

Exempel 4: Skapa en katalog i en annan katalog

Detta exempel skapar en ny katalog Scripts i katalogen ”C:\PS-Test”.

Namnet på det nya katalogobjektet, ”Scripts”, inkluderas i värdet på Path-parametern,istället för att anges i värdet på Name. Som framgår av syntaxen är båda kommandovarorna giltiga.

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

Exempel 5: Skapa flera filer

Detta exempel skapar filer i två olika kataloger. Eftersom Path tar emot flera strängar kan du använda den för att skapa flera objekt.

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

Exempel 6: Använd jokertecken för att skapa filer i flera kataloger

Cmdlet New-Item har stöd för jokertecken i Path-parametern. Följande kommando skapar entemp.txt-fil i alla de kataloger som anges av jokertecknen i Path-parametern.

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

Cmdletten Get-ChildItem visar tre kataloger under C:\Temp-katalogen. Med hjälp av jokertecken skapar cmdlet New-Item en temp.txt-fil i alla kataloger under den aktuella katalogen. Cmdletten New-Item ger ut de objekt som du skapade, som leds till Select-Object för att verifiera sökvägarna för de nyskapade filerna.

Exempel 7: Skapa en symbolisk länk till en fil eller mapp

Detta exempel skapar en symbolisk länk till filen Notice.txt i den aktuella mappen.

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

I det här exemplet är Target ett alias för parametern Value. Målet för den symboliska länken kan vara en relativ sökväg. Före PowerShell v6.2 måste målet vara en fullt kvalificerad sökväg.

Med början i PowerShell 7.1 kan du nu skapa en symbolisk länk till en mapp i Windows med hjälp av en relativ sökväg.

Exempel 8: Använd parametern -Force för att försöka återskapa mappar

Det här exemplet skapar en mapp med en fil inuti. Försöker sedan skapa samma mapp med hjälp av-Force. Den skriver inte över mappen utan returnerar helt enkelt det befintliga mappobjektet med den skapade filen intakt.

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

Exempel 9: Använd parametern -Force för att skriva över befintliga filer

Detta exempel skapar en fil med ett värde och återskapar sedan filen med hjälp av -Force. Detta överskriverDen befintliga filen och den kommer att förlora sitt innehåll som du kan se av egenskapen length

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

När du använder New-Item med växeln -Force för att skapa registernycklar kommer kommandot att bete sig på samma sätt som när du överskriver en fil. Om registernyckeln redan finns kommer nyckeln och alla egenskaper och värden att skrivas över med en tom registernyckel.

Parametrar

-Confirm

Fråger dig om bekräftelse innan du kör cmdlet.

Typ: SwitchParameter
Alias: cf
Position: Named
Standardvärde: False
Accepterar inmatning från pipeline: False
Acceptera jokertecken: False
-Credential

Note

Den här parametern stöds inte av leverantörer som installerats med PowerShell. Om du vill utge dig för att vara en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdlet använder du Invoke-Command.

Typ: PSCredential
Position: Named
Standardvärde: Aktuell användare
Acceptera inmatning från pipeline: True
Accept wildcard characters: False
-Force

Det här cmdlet tvingas skapa ett objekt som skriver över ett befintligt skrivskyddat objekt. Implementationen varierar från leverantör till leverantör. Även om du använder parametern Force kan cmdlet inte åsidosätta säkerhetsbegränsningar.

Typ: SwitchParameter
Position: Named
Standardvärde: None
Acceptera inmatning från pipeline: False
Accept wildcard characters: False
-Item Type

Anger den leverantörsspecificerade typen av den nya posten. De tillgängliga värdena för den här parametern beror på vilken leverantör du använder.

Om platsen finns i en FileSystem-enhet är följande värden tillåtna:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Anm.

För att skapa en SymbolicLink-typ på Windows krävs att du är administratör. Windows 10(build 14972 eller senare) med Utvecklingsläge aktiverat kräver dock inte längre höjd för att skapa symboliska länkar.

I en Certificate-enhet är det här värdena du kan ange:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

För mer information se about_Providers.

Type: String
Aliases: Type
Position: Named
Defaultvärde: None
Accept pipeline input: True
Accept wildcard characters: False
-Name

Specificerar namnet på det nya objektet. Du kan ange namnet på det nya objektet i parametervärdet Name ellerPath och du kan ange sökvägen för det nya objektet i Name eller Pathvalue. Objektnamn som överförs med hjälp av parametern Name skapas relativt till värdet på parameternPath.

Typ: String
Position: Namn
Standardvärde: Inget
Acceptera inmatning från pipeline: True
Accept wildcard characters: False
-Path

Anger sökvägen till platsen för det nya objektet. Standardvärdet är den aktuella platsen närPath inte anges. Du kan ange namnet på det nya objektet i Name eller inkludera det iPath. Namn på objekt som skickas med parametern Name skapas relativt till värdet i parameternPath.

För den här cmdlet fungerar Path-parametern på samma sätt som parametern LiteralPath i andra cmdlets.Jokertecken tolkas inte. Alla tecken skickas till platsens provider. Leverantören har kanske inte stöd för alla tecken. Du kan till exempel inte skapa ett filnamn som innehåller ett tecken som heterasterisk (*).

Typ: Sträng
Position: 0
Standardvärde: Aktuell position
Acceptera inmatning från pipeline: True
Accept wildcard characters: False
-Value

Anger värdet på den nya posten. Du kan också skicka ett värde via pipeline till New-Item.

Typ: Objekt
Alias: Mål
Position: Namn
Standardvärde: None
Accept pipeline input: True
Accept wildcard characters: False
-WhatIf

Visar vad som händer om cmdlet körs.Cmdletten körs inte.

Typ: SwitchParameter
Alias: wi
Position: Named
Standardvärde: False
Accept pipeline input: False
Acceptera jokertecken: False

Inputs

Object

Du kan ange ett värde för det nya objektet i pipan till den här cmdlet.

Outputs

Object

Denna cmdlet returnerar det objekt som den skapar.

Notes

New-Item är utformad för att fungera med data som exponeras av alla leverantörer. Skriv Get-PsProvider om du vill visa en lista över de providers som är tillgängliga i din session. Mer information finns i about_Providers.

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

Lämna ett svar

Din e-postadress kommer inte publiceras.