Skapa ett nytt objekt.
- Syntax
- Beskrivning
- Exempel
- Exempel 1: Skapa en fil i den aktuella katalogen
- Exempel 2: Skapa en katalog
- Exempel 3: Skapa en profil
- Exempel 4: Skapa en katalog i en annan katalog
- Exempel 5: Skapa flera filer
- Exempel 6: Använd jokertecken för att skapa filer i flera kataloger
- Exempel 7: Skapa en symbolisk länk till en fil eller mapp
- Exempel 8: Använd parametern -Force för att försöka återskapa mappar
- Exempel 9: Använd parametern -Force för att skriva över befintliga filer
- Parametrar
- Inputs
- Outputs
- Notes
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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