Sdílet prostřednictvím


New-Item

Vytvoří novou položku.

Syntaxe

New-Item
   [-Path] <String[]>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-Item
   [[-Path] <String[]>]
   -Name <String>
   [-ItemType <String>]
   [-Value <Object>]
   [-Force]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-Item
   [-Path] <string[]>
   -ConnectionURI <uri>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-OptionSet <hashtable>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <string>]
   [-SessionOption <SessionOption>]
   [-Port <int>]
   [<CommonParameters>]
New-Item
   [[-Path] <string[]>]
   -Name <string>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-OptionSet <hashtable>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <string>]
   [-SessionOption <SessionOption>]
   [-ApplicationName <string>]
   [-Port <int>]
   [-UseSSL]
   [<CommonParameters>]
New-Item
   [-Path] <string[]>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]
New-Item
   [[-Path] <string[]>]
   -Name <string>
   [-ItemType <string>]
   [-Value <Object>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-Options <ScopedItemOptions>]
   [<CommonParameters>]

Description

Rutina New-Item vytvoří novou položku a nastaví její hodnotu. Typy položek, které lze vytvořit, závisí na umístění položky. Například v systému New-Item souborů vytvoří soubory a složky. V registru New-Item vytvoří klíče registru a položky.

New-Item může také nastavit hodnotu položek, které vytvoří. Když například vytvoří nový soubor, New-Item může do souboru přidat počáteční obsah.

Příklady

Příklad 1: Vytvoření souboru v aktuálním adresáři

Tento příkaz vytvoří textový soubor s názvem "testfile1.txt" v aktuálním adresáři. Tečka (.) v hodnotě parametru Path označuje aktuální adresář. Text v uvozových hodnotách, který následuje za parametrem Value , se přidá do souboru jako obsah.

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

Příklad 2: Vytvoření adresáře

Tento příkaz vytvoří na C: jednotce adresář s názvem Logfiles. Parametr ItemType určuje, že nová položka je adresář, nikoli soubor nebo jiný objekt systému souborů.

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

Příklad 3: Vytvoření profilu

Tento příkaz vytvoří profil PowerShellu v cestě určené proměnnou $profile .

K přizpůsobení PowerShellu můžete použít profily. $profile je automatická (integrovaná) proměnná, která ukládá cestu a název souboru profilu CurrentUser/CurrentHost. Ve výchozím nastavení profil neexistuje, i když PowerShell uloží cestu a název souboru.

V tomto příkazu $profile proměnná představuje cestu k souboru. Parametr ItemType určuje, že příkaz vytvoří soubor. Parametr Force umožňuje vytvořit soubor v cestě profilu, i když adresáře v cestě neexistují.

Po vytvoření profilu můžete do profilu zadat aliasy, funkce a skripty pro přizpůsobení prostředí.

Další informace najdete v tématu about_Automatic_Variables a about_Profiles.

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

Příklad 4: Vytvoření adresáře v jiném adresáři

Tento příklad vytvoří nový adresář Scripts v adresáři C:\PS-Test.

Název nové položky adresáře "Scripts" je zahrnut v hodnotě parametru Path místo zadání v hodnotě Name. Jak je uvedeno v syntaxi, je platný formulář příkazu.

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

Příklad 5: Vytvoření více souborů

Tento příklad vytvoří soubory ve dvou různých adresářích. Vzhledem k tomu, že cesta přebírá více řetězců, můžete ji použít k vytvoření více položek.

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

Příklad 6: Použití zástupných znaků k vytvoření souborů v několika adresářích

Rutina New-Item podporuje zástupné cardy v parametru Path . Následující příkaz vytvoří temp.txt soubor ve všechadresářch

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

Rutina Get-ChildItem zobrazí v adresáři C:\Temp tři adresáře. Pomocí zástupných New-Item znaků rutina vytvoří temp.txt soubor ve všech adresářích v aktuálním adresáři. Rutina New-Item vypíše položky, které jste vytvořili, a tím se předá Select-Object k ověření cest k nově vytvořeným souborům.

Příklad 7: Vytvoření symbolického odkazu na soubor nebo složku

Tento příklad vytvoří symbolický odkaz na soubor Notice.txt v aktuální složce.

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

LinkType     Target
--------     ------
SymbolicLink {.\Notice.txt}

V tomto příkladu je Target aliasem pro parametr Value . Cílem symbolického odkazu může být relativní cesta. Před PowerShellem v6.2 musí být cílem plně kvalifikovaná cesta.

Počínaje PowerShellem 7.1 teď můžete vytvořit symbolický odkaz na složku ve Windows pomocí relativní cesty.

Příklad 8: Použití parametru -Force k pokusu o opětovné vytvoření složek

Tento příklad vytvoří složku se souborem uvnitř. Pak se pokusí vytvořit stejnou složku pomocí -Force. Nepřepíše složku, ale jednoduše vrátí existující objekt složky se souborem vytvořeným beze změny.

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

Příklad 9: Použití parametru -Force k přepsání existujících souborů

Tento příklad vytvoří soubor s hodnotou a pak znovu vytvoří soubor pomocí -Force. Tím se stávající soubor přepíše, jak je vidět podle vlastnosti délky.

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

Poznámka:

Při použití New-Item s -Force přepínačem k vytvoření klíčů registru se příkaz bude chovat stejně jako při přepsání souboru. Pokud klíč registru již existuje, klíč a všechny vlastnosti a hodnoty budou přepsány prázdným klíčem registru.

Parametry

-ApplicationName

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje název aplikace v připojení. Výchozí hodnota parametru ApplicationName je WSMAN.

Další informace naleznete v tématu New-WSManInstance.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Authentication

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje mechanismus ověřování, který se má použít na serveru.

Další informace naleznete v tématu New-WSManInstance.

Typ:AuthenticationMechanism
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-CertificateThumbprint

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje certifikát digitálního veřejného klíče (X509) uživatelského účtu, který má oprávnění k provedení této akce WSMan. Zadejte kryptografický otisk certifikátu.

Další informace naleznete v tématu New-WSManInstance.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ConnectionURI

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje koncový bod připojení pro WSMan.

Další informace naleznete v tématu New-WSManInstance.

Typ:Uri
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

Poznámka:

Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete při spuštění této rutiny zosobnit jiného uživatele nebo zvýšit úroveň přihlašovacích údajů, použijte Invoke-Command.

Typ:PSCredential
Position:Named
Default value:Current user
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Force

Vynutí tuto rutinu, aby vytvořila položku, která zapisuje existující položku jen pro čtení. Implementace se liší od zprostředkovatele po zprostředkovatele. I pomocí parametru Force nemůže rutina přepsat omezení zabezpečení.

Počínaje PowerShellem 7.4 tento parametr také umožňuje přepsat existující spojení. Dříve se to nepovede s chybou "nelze odebrat, protože není prázdná".

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ItemType

Určuje typ nové položky zadaný zprostředkovatelem. Dostupné hodnoty tohoto parametru závisí na aktuálním poskytovateli, který používáte.

Pokud je vaše umístění na jednotce FileSystem , jsou povoleny následující hodnoty:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Poznámka:

Vytvoření SymbolicLink typu ve Windows vyžaduje zvýšení oprávnění jako správce. Windows 10 (build 14972 nebo novější) s povoleným režimem vývojáře už ale nevyžaduje zvýšení oprávnění vytvářet symbolické odkazy.

Certificate Na jednotce můžete zadat tyto hodnoty:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Další informace najdete v tématu about_Providers.

Typ:String
Aliasy:Type
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje název nové položky. Název nové položky můžete zadat v hodnotě parametru Název nebo Cesta a můžete zadat cestu nové položky v poli Název nebo Cesta. Názvy položek předané pomocí parametru Name se vytvoří vzhledem k hodnotě parametru Path .

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Options

Toto je dynamický parametr zpřístupněný poskytovatelem aliasu. Další informace najdete v tématu Nový alias.

Určuje hodnotu vlastnosti Options aliasu.

Platné hodnoty jsou:

  • None: Alias nemá žádná omezení (výchozí hodnota)
  • ReadOnly: Alias lze odstranit, ale nejde ho změnit bez použití parametru Force .
  • Constant: Alias nejde odstranit ani změnit.
  • Private: Alias je k dispozici pouze v aktuálním oboru.
  • AllScope: Alias se zkopíruje do všech nově vytvořených oborů.
  • Unspecified: Možnost není zadána.
Typ:ScopedItemOptions
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-OptionSet

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Předá sadu přepínačů službě, která upraví nebo upřesní povahu požadavku.

Další informace naleznete v tématu New-WSManInstance.

Typ:Hashtable
Aliasy:OS
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

Určuje cestu umístění nové položky. Výchozí hodnota je aktuální umístění, pokud je vynechána cesta . Název nové položky můžete zadat v poli Název nebo ho zahrnout do cesty. Názvy položek předané pomocí parametru Name se vytvoří vzhledem k hodnotě parametru Path .

Pro tuto rutinu funguje parametr Path jako parametr LiteralPath jiných rutin. Zástupné znaky nejsou interpretovány. Všechny znaky se předávají poskytovateli umístění. Zprostředkovatel nemusí podporovat všechny znaky. Nemůžete například vytvořit název souboru, který obsahuje znak hvězdičky (*).

Typ:String[]
Position:0
Default value:Current location
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Port

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje port, který se má použít, když se klient připojí ke službě WinRM.

Další informace naleznete v tématu New-WSManInstance.

Typ:Int32
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SessionOption

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Definuje sadu rozšířených možností pro relaci WS-Management.

Další informace naleznete v tématu New-WSManInstance.

Typ:SessionOption
Aliasy:SO
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-UseSSL

Jedná se o dynamický parametr, který zpřístupnil zprostředkovatel WSMan . Zprostředkovatel WSMan a tento parametr jsou k dispozici pouze ve Windows.

Určuje, že protokol SSL (Secure Sockets Layer) by se měl použít k navázání připojení ke vzdálenému počítači. Ve výchozím nastavení se ssl nepoužívá.

Další informace naleznete v tématu New-WSManInstance.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Value

Určuje hodnotu nové položky. Hodnotu můžete také převést na New-Itemhodnotu .

Typ:Object
Aliasy:Target
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

Object

Do této rutiny můžete přidat hodnotu nové položky.

Výstupy

DictionaryEntry

Rutina vrátí objekt DictionaryEntry při vytváření nové proměnné prostředí.

DirectoryInfo

Rutina vrátí objekt DirectoryInfo při vytváření nového adresáře v systému souborů.

FileInfo

Rutina vrátí objekt FileInfo při vytváření nového souboru v systému souborů.

AliasInfo

Rutina při vytváření nového aliasu vrátí objekt AliasInfo .

FunctionInfo

Rutina vrátí objekt FunctionInfo při vytváření nové funkce.

PSVariable

Rutina vrátí objekt PSVariable při vytváření nové proměnné.

Poznámky

PowerShell obsahuje následující aliasy pro New-Item:

  • Všechny platformy:
    • ni

New-Item je navržený tak, aby fungoval s daty vystavenými jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PsProvider. Další informace najdete v tématu about_Providers.