- Syntaxe
- Popis
- Příklad
- Příklad 1: Vytvoření souboru v aktuálním adresáři
- Příklad 2: Vytvoření adresáře
- Příklad 3: Vytvoření profilu
- Příklad 4: Vytvoření adresáře v jiném adresáři
- Příklad 5: Vytvoření více souborů
- Příklad 6: Použití zástupných znaků k vytvoření souborů ve více adresářích
- Příklad 7: Vytvoření symbolického odkazu na soubor nebo složku
- Příklad 8: Pomocí parametru -Force se pokusíte znovu vytvořit složky
- Příklad 9: Použití parametru -Force k přepsání existujících souborů
- Parametry
- Inputs
- Výstupy
- Poznámky
Syntaxe
New-Item <String>
New-Item <String>] -Name <String>
Popis
Komenda 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 souborovém systému New-Item
vytváří soubory a složky. V registru New-Item
vytváří klíče a položky registru.
New-Item
může také nastavit hodnotu vytvářených položek. Když například vytváří nový soubor, může New-Item
do něj přidat počáteční obsah.
Příklad
Příklad 1: Vytvoření souboru v aktuálním adresáři
Tento příkaz vytvoří v aktuálním adresáři textový soubor s názvem „testfile1.txt“. Tečka(‚.‘) v hodnotě parametru Path označuje aktuální adresář. Text v uvozovká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ří adresář s názvem „Logfiles“ v jednotce C:
. Parametr ItemType určuje, že nová položka je adresář, nikoli soubor nebo jiný objekt souborového systému.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Příklad 3: Vytvoření profilu
Tento příkaz vytvoří profil prostředí PowerShell v cestě, která je určena proměnnou $profile
.
Profily můžete použít k přizpůsobení prostředí PowerShell. $profile
je automatická (vestavěná) proměnná, která ukládá cestu a název souboru profilu „CurrentUser/CurrentHost“. Ve výchozím nastavení tento profil neexistuje, přestože k němu prostředí PowerShell ukládá cestu a název souboru.
V tomto příkazu představuje proměnná $profile
cestu k souboru. Parametr ItemType určuje, že příkaz vytvoří soubor. Parametr Force umožňuje vytvořit soubor v cestě k 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 svůj shell.
Další informace najdete v části about_Automatic_Variablesa 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 aby byl uveden v hodnotě Name. Jak je uvedeno v syntaxi, platí obě formy 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 rutina Path 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ů ve více adresářích
Rucení New-Item
podporuje zástupné znaky v parametru Path. Následující příkaz vytvoří soubortemp.txt
ve všech adresářích zadaných zástupnými znaky v parametru Path.
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
V rutině Get-ChildItem
jsou zobrazeny tři adresáře pod adresářem C:\Temp
. Pomocí zástupných znaků New-Item
rutina vytvoří soubor temp.txt
ve všech adresářích pod aktuálnímadresářem. New-Item
cmdlet vypíše vytvořené položky, které jsou odeslány do Select-Object
pro 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, TargetLinkType Target-------- ------SymbolicLink {.\Notice.txt}
V tomto příkladu je Target alias pro parametr Value. Cíl symbolického odkazumůže být relativní cesta. Před verzí PowerShell v6.2 musí být cílem plně kvalifikovaná cesta.
Počínaje verzí PowerShell 7.1 můžete nyní vytvořit symbolický odkaz na složku v systému Windows pomocí relativní cesty.
Příklad 8: Pomocí parametru -Force se pokusíte znovu vytvořit složky
Tento příklad vytvoří složku se souborem uvnitř. Poté se pokusí vytvořit stejnou složku pomocí-Force
. Nepřepisuje složku, ale jednoduše vrátí existující objekt složky s neporušeným vytvořeným souborem.
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
Příklad 9: Použití parametru -Force k přepsání existujících souborů
Tento příklad vytvoří soubor s hodnotou a poté jej znovu vytvoří pomocí -Force
. Tím se přepíšeExistující soubor a ztratí svůj obsah, jak je vidět podle vlastnosti 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
Poznámka
Při použití New-Item
s přepínačem -Force
pro vytvoření klíčů registru se příkaz bude chovat stejně jako při přepisu souboru. Pokud klíč registru již existuje, bude klíč a všechnyvlastnosti a hodnoty přepsány prázdným klíčem registru.
Parametry
Před spuštěním rutiny vás vyzve k potvrzení.
Typ: | PřepínačParametr |
Aliasy: | cf |
Pozice: | Named |
Výchozí hodnota: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Poznámka
Tento parametr není podporován žádným poskytovatelem nainstalovaným s PowerShell. Chcete-li se při spouštění této rutiny vydávat za jiného uživatele nebo zvýšit své pověření, použijte parametr Invoke-Command
.
Typ: | PSCredential |
Pozice: | Jméno |
Výchozí hodnota: | Současný uživatel |
Přijmout vstup do potrubí: | True |
Accept wildcard characters: | False |
Přinutí tuto rutinu vytvořit položku, která zapisuje přes existující položku pouze pro čtení. Implementace se u jednotlivých poskytovatelů liší. Ani při použití parametru Force nemůže rutina přepsatbezpečnostní omezení.
Typ: | PřepínačParametr |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijmout vstup z potrubí: | False |
Accept wildcard characters: | False |
Určuje typ nové položky určený poskytovatelem. Dostupné hodnoty tohoto parametru závisí na aktuálně používaném poskytovateli.
Jestliže se vaše umístění nachází v jednotce FileSystem
, jsou povoleny následující hodnoty:
- Soubor
- Adresář
- Symbolickáodkaz
- Spojka
- Tvrdýodkaz
Poznámka
Vytvoření typu SymbolicLink
v systému Windows vyžaduje povýšení jako správce. Systém Windows 10(sestavení 14972 nebo novější) se zapnutým režimem pro vývojáře však již nevyžaduje povýšení při vytváření symbolických odkazů.
V jednotce Certificate
můžete zadat tyto hodnoty:
- Certificate Provider
- Certificate
- Store
- StoreLocation
Další informace najdete v části about_Providers.
Typ: | Řetězec |
Aliasy: | Typ |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijímá vstup z potrubí: | True |
Přijímá zástupné znaky: | False |
Určuje název nového prvku. Název nové položky můžete zadat v hodnotě parametru Name neboPath a cestu k nové položce můžete zadat v hodnotě Name nebo Pathvalue. Názvy položek předávané pomocí parametruName se vytvoří relativně k hodnotě parametruPath.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Jedna |
Přijmout vstup z potrubí: | True |
Accept wildcard characters: | False |
Určuje cestu k umístění nové položky. Pokud je položkaPath vynechána, je výchozí hodnotou aktuální umístění. Název nové položky můžete zadat do pole Name nebo jej zahrnout do polePath. Názvy položek předávané pomocí parametru Name jsou vytvářeny relativně k hodnotě parametruPath.
Pro tuto rutinu funguje parametr Path stejně jako parametr LiteralPath u jiných rutin. zástupné znaky nejsou interpretovány. Všechny znaky jsou předány zprostředkovateli umístění. Poskytovatel nemusí podporovat všechny znaky. Nelze například vytvořit název souboru, který obsahuje znakasterisk (*
).
Typ: | Řetězec |
Poloha: | 0 |
Výchozí hodnota: | Aktuální umístění |
Přijmout vstup z potrubí: | True |
Accept wildcard characters: | False |
Určuje hodnotu nové položky. Hodnotu můžete také zadat do roury New-Item
.
Typ: | Objekt |
Aliasy: | Cíl |
Pozice: | Název |
Výchozí hodnota: | Nulová |
Přijmout vstup z potrubí: | True |
Přijmout zástupné znaky: | False |
Ukazuje, co by se stalo, kdyby se rutina spustila.Rutina se nespustí.
Typ: | PřepínačParametr |
Aliasy: | wi |
Pozice: | Named |
Výchozí hodnota: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
Object
Do této rutiny můžete vložit hodnotu nové položky.
Výstupy
Objekt
Tato rutina vrací vytvořenou položku.
Poznámky
New-Item
je navržena tak, aby pracovala s daty vystavenými libovolným poskytovatelem. Chcete-li zobrazit seznam poskytovatelůdostupných v relaci, zadejte Get-PsProvider
. Další informace naleznete v části about_Providers.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- Move-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers
.