New-Item

Vytvoří novou položku.

Syntax

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>]

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 něj 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 citace, 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ří v 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 ukládá 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 a přizpůsobit tak 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 syntaxí, 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. Protož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šech adresářích určených zástupnými cardy v parametru 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

Rutina Get-ChildItem zobrazuje tři adresáře v adresáři C:\Temp . Pomocí zástupných New-Item znaků rutina temp.txt vytvoří 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 Select-Object ověří cesty nově vytvořených souborů.

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 parametru Value . Cílem symbolického propojení může být relativní cesta. Před PowerShellem verze 6.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 potom soubor znovu vytvoří pomocí -Force. Tím se přepíše existující soubor a ztratí se jeho obsah, jak vidíte 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 se přepíšou prázdným klíčem registru.

Parametry

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Poznámka

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

Type:PSCredential
Position:Named
Default value:Current user
Accept pipeline input:True
Accept wildcard characters:False

-Force

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

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ItemType

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

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

  • Soubor
  • Adresář
  • Symbolický odkaz
  • Spojení
  • Pevný odkaz

Poznámka

SymbolicLink Vytvoření 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 jsou tyto hodnoty, které můžete zadat:

  • Zprostředkovatel certifikátů
  • Certifikát
  • Uložení
  • StoreLocation

Další informace najdete v tématu about_Providers.

Type:String
Aliases:Type
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters: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 části Název nebo Cesta . Názvy položek předané pomocí parametru Name se vytvoří vzhledem k hodnotě parametru Path .

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Path

Určuje cestu k umístění nové položky. Výchozí hodnota je aktuální umístění, když je cesta vynechána. Název nové položky můžete zadat v části 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í. Poskytovatel nemusí podporovat všechny znaky. Nelze například vytvořit název souboru, který obsahuje znak hvězdičky (*).

Type:String[]
Position:0
Default value:Current location
Accept pipeline input:True
Accept wildcard characters:False

-Value

Určuje hodnotu nové položky. Hodnotu můžete také roušit na New-Itemhodnotu .

Type:Object
Aliases:Target
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

Object

Do této rutiny můžete zadat hodnotu nové položky.

Výstupy

Object

Tato rutina vrátí položku, kterou vytvoří.

Poznámky

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