Dela via


New-Item

Skapar ett nytt objekt.

Syntax

pathSet (Standard)

New-Item
    [-Path] <String[]>
    [-ItemType <String>]
    [-Value <Object>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

nameSet

New-Item
    [[-Path] <String[]>]
    -Name <String>
    [-ItemType <String>]
    [-Value <Object>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Cmdleten New-Item skapar ett nytt objekt och anger dess värde. Vilka typer av objekt som kan skapas beror på objektets plats. I filsystemet skapar New-Item till exempel filer och mappar. I registret skapar New-Item registernycklar och poster.

New-Item kan också ange värdet för 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

Det här kommandot skapar en textfil med namnet "testfile1.txt" i den aktuella katalogen. Punkten ('.') i värdet för parametern Path anger den aktuella katalogen. Den citerade texten som fö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

Det här kommandot skapar en katalog med namnet "Logfiles" på den C: enheten. 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

Det här kommandot skapar en PowerShell-profil i sökvägen 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". Profilen finns som standard 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 gränssnittet.

Mer information finns i about_Automatic_Variables och about_Profiles.

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

Exempel 4: Skapa en katalog i en annan katalog

Det här exemplet skapar en ny skriptkatalog i katalogen "C:\PS-Test".

Namnet på det nya katalogobjektet "Skript" ingår i värdet för parametern Path i stället för att anges i värdet för Name. Som syntaxen anger är antingen kommandoformuläret giltigt.

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

Exempel 5: Skapa flera filer

Det här exemplet skapar filer i två olika kataloger. Eftersom Path tar 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

Cmdleten New-Item stöder jokertecken i parametern Path. Följande kommando skapar en temp.txt fil i alla kataloger som anges av jokertecken i parametern 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

Cmdleten Get-ChildItem visar tre kataloger under katalogen C:\Temp. Med jokertecken skapar cmdleten New-Item en temp.txt fil i alla kataloger under den aktuella katalogen. Cmdleten New-Item matar ut de objekt som du skapade, som skickas till Select-Object för att verifiera sökvägarna för de nyligen skapade filerna.

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

I det här exemplet skapas 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, Target
LinkType     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 fullständigt kvalificerad sökväg.

Från och med PowerShell 7.1 kan du nu skapa till en SymbolicLink- 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

I det här exemplet skapas 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 bara det befintliga mappobjektet med filen som skapats intakt.

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

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

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

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

Anmärkning

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

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anmärkning

Den här parametern stöds inte av några leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Force

Tvingar den här cmdleten att skapa ett objekt som skriver över ett befintligt skrivskyddat objekt. Implementeringen varierar från leverantör till leverantör. Även om du använder parametern Force kan cmdleten inte åsidosätta säkerhetsbegränsningar.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ItemType

Anger den providerspecifika typen av det nya objektet. Vilka värden som är tillgängliga för den här parametern beror på den aktuella providern som du använder.

Om din plats finns på en FileSystem enhet tillåts följande värden:

  • Fil
  • Katalog
  • Symbolisk länk
  • Knutpunkt
  • HardLink

Anmärkning

För att skapa en SymbolicLink typ i Windows krävs utökade privilegier som administratör. Windows 10 (version 14972 eller senare) med utvecklarläge aktiverat kräver dock inte längre utökade symboliska länkar.

I en Certificate enhet är det här de värden som du kan ange:

  • Certifikatprovider
  • Certifikat
  • Butik
  • StoreLocation

Mer information finns i about_Providers.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Typ

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Name

Anger namnet på det nya objektet. Du kan ange namnet på det nya objektet i parametervärdet Name eller Path och du kan ange sökvägen till det nya objektet i Name eller Path value. Objektnamn som skickas med parametern Name skapas i förhållande till värdet för parametern Path.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

nameSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Path

Anger sökvägen till platsen för det nya objektet. Standardvärdet är den aktuella platsen när Sökväg utelämnas. Du kan ange namnet på det nya objektet i Namn, eller inkludera det i Sökväg. Objektnamn som skickas med parametern Name skapas i förhållande till värdet för parametern Path.

För den här cmdleten fungerar parametern Path som parametern LiteralPath för andra cmdletar. Jokertecken tolkas inte. Alla tecken skickas till platsens provider. Providern kanske inte stöder alla tecken. Du kan till exempel inte skapa ett filnamn som innehåller en asterisk (*).

Parameteregenskaper

Typ:

String[]

Standardvärde:Current location
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

pathSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Value

Anger värdet för det nya objektet. Du kan också skicka ett värde för att New-Item.

Parameteregenskaper

Typ:Object
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Mål

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

Object

Du kan skicka ett värde för det nya objektet till den här cmdleten.

Utdata

Object

Den här cmdleten returnerar det objekt som skapas.

Kommentarer

New-Item är utformat för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PsProvider. Mer information finns i om_Leverantörer.