Udostępnij przez


New-Item

Tworzy nowy element.

Składnia

pathSet (domyślnie)

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

Opis

Polecenie cmdlet New-Item tworzy nowy element i ustawia jego wartość. Typy elementów, które można utworzyć, zależą od lokalizacji elementu. Na przykład w systemie plików New-Item tworzy pliki i foldery. W rejestrze New-Item tworzy klucze rejestru i wpisy.

New-Item można również ustawić wartość tworzonych elementów. Na przykład podczas tworzenia nowego pliku New-Item może dodać początkową zawartość do pliku.

Przykłady

Przykład 1. Tworzenie pliku w bieżącym katalogu

To polecenie tworzy plik tekstowy o nazwie "testfile1.txt" w bieżącym katalogu. Kropka (''') w wartości parametru Path wskazuje bieżący katalog. Tekst cytowany, który jest zgodny z parametrem Value, jest dodawany do pliku jako zawartość.

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

Przykład 2. Tworzenie katalogu

To polecenie tworzy katalog o nazwie "Logfiles" na dysku C:. Parametr ItemType określa, że nowy element jest katalogiem, a nie plikiem ani innym obiektem systemu plików.

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

Przykład 3. Tworzenie profilu

To polecenie tworzy profil programu PowerShell w ścieżce określonej przez zmienną $profile.

Profile umożliwiają dostosowywanie programu PowerShell. $profile jest zmienną automatyczną (wbudowaną), która przechowuje ścieżkę i nazwę pliku profilu "CurrentUser/CurrentHost". Domyślnie profil nie istnieje, mimo że program PowerShell przechowuje dla niego ścieżkę i nazwę pliku.

W tym poleceniu zmienna $profile reprezentuje ścieżkę pliku. ItemType parametr określa, że polecenie tworzy plik. Parametr Force umożliwia utworzenie pliku w ścieżce profilu, nawet jeśli katalogi w ścieżce nie istnieją.

Po utworzeniu profilu możesz wprowadzić aliasy, funkcje i skrypty w profilu, aby dostosować powłokę.

Aby uzyskać więcej informacji, zobacz about_Automatic_Variables i about_Profiles.

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

Przykład 4. Tworzenie katalogu w innym katalogu

W tym przykładzie zostanie utworzony nowy katalog Scripts w katalogu "C:\PS-Test".

Nazwa nowego elementu katalogu "Skrypty" jest uwzględniana w wartości parametru ścieżka zamiast określać wartość Name. Jak wskazuje składnia, formularz polecenia jest prawidłowy.

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

Przykład 5. Tworzenie wielu plików

W tym przykładzie są tworzone pliki w dwóch różnych katalogach. Ponieważ ścieżka przyjmuje wiele ciągów, możesz użyć jej do utworzenia wielu elementów.

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

Przykład 6. Używanie symboli wieloznacznych do tworzenia plików w wielu katalogach

Polecenie cmdlet New-Item obsługuje symbole wieloznaczne w parametrze Path. Następujące polecenie tworzy plik temp.txt we wszystkich katalogach określonych przez symbole wieloznaczne w parametrze ścieżka.

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

Polecenie cmdlet Get-ChildItem pokazuje trzy katalogi w katalogu C:\Temp. Za pomocą symboli wieloznacznych polecenie cmdlet New-Item tworzy plik temp.txt we wszystkich katalogach w bieżącym katalogu. Polecenie cmdlet New-Item zwraca utworzone elementy, które są przesyłane potokowo do Select-Object w celu zweryfikowania ścieżek nowo utworzonych plików.

Przykład 7. Tworzenie linku symbolicznego do pliku lub folderu

W tym przykładzie zostanie utworzony link symboliczny do pliku Notice.txt w bieżącym folderze.

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

W tym przykładzie Target jest aliasem parametru Value. Elementem docelowym łącza symbolicznego może być ścieżka względna. Przed programem PowerShell w wersji 6.2 element docelowy musi być w pełni kwalifikowaną ścieżką.

Począwszy od programu PowerShell 7.1, można teraz utworzyć plik w SymbolLink do folderu w systemie Windows przy użyciu ścieżki względnej.

Przykład 8. Użyj parametru -Force, aby spróbować odtworzyć foldery

W tym przykładzie tworzony jest folder z plikiem wewnątrz. Następnie próbuje utworzyć ten sam folder przy użyciu -Force. Nie zastąpi on folderu, ale po prostu zwróci istniejący obiekt folderu z plikiem utworzonym bez zmian.

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

Przykład 9. Użyj parametru -Force, aby zastąpić istniejące pliki

W tym przykładzie zostanie utworzony plik z wartością, a następnie ponownie utworzy plik przy użyciu -Force. Spowoduje to nadpisanie istniejącego pliku i utraci on swoją zawartość, co widać po właściwości length

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

Uwaga / Notatka

W przypadku używania New-Item z przełącznikiem -Force w celu utworzenia kluczy rejestru polecenie będzie zachowywać się tak samo jak podczas zastępowania pliku. Jeśli klucz rejestru już istnieje, klucz i wszystkie właściwości i wartości zostaną zastąpione pustym kluczem rejestru.

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Credential

Uwaga / Notatka

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby personifikować innego użytkownika lub podnieść poziom poświadczeń podczas uruchamiania tego polecenia cmdlet, użyj Invoke-Command.

Właściwości parametru

Typ:PSCredential
Domyślna wartość:Current user
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Force

Wymusza to polecenie cmdlet, aby utworzyć element, który zapisuje w istniejącym elemencie tylko do odczytu. Implementacja różni się od dostawcy do dostawcy. Nawet przy użyciu parametru Force polecenie cmdlet nie może zastąpić ograniczeń zabezpieczeń.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ItemType

Określa typ określony przez dostawcę nowego elementu. Dostępne wartości tego parametru zależą od bieżącego dostawcy, którego używasz.

Jeśli lokalizacja znajduje się na dysku FileSystem, dozwolone są następujące wartości:

  • Plik
  • Katalog
  • Link symboliczny
  • Połączenie
  • HardLink

Uwaga / Notatka

Utworzenie typu SymbolicLink w systemie Windows wymaga podniesienia uprawnień administratora. Jednak system Windows 10 (kompilacja 14972 lub nowsza) z włączonym trybem dewelopera nie wymaga już podniesienia uprawnień tworzenia linków symbolicznych.

Na dysku Certificate są to wartości, które można określić:

  • Dostawca certyfikatów
  • Certyfikat
  • Store
  • StoreLocation

Aby uzyskać więcej informacji, zobacz about_Providers.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Typ

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Name

Określa nazwę nowego elementu. Możesz określić nazwę nowego elementu w wartości parametru nazwa lub ścieżka , a następnie określić ścieżkę nowego elementu w Nazwa lub wartość Ścieżka . Nazwy elementów przekazywanych przy użyciu parametru Nazwa są tworzone względem wartości parametru ścieżka.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

nameSet
Position:Named
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Path

Określa ścieżkę lokalizacji nowego elementu. Wartość domyślna to bieżąca lokalizacja, gdy ścieżka zostanie pominięta. Możesz określić nazwę nowego elementu w Namelub dołączyć go do Path. Nazwy elementów przekazywanych przy użyciu parametru Nazwa są tworzone względem wartości parametru ścieżka.

W przypadku tego polecenia cmdlet parametr ścieżki działa jak parametr LiteralPath innych poleceń cmdlet. Symbole wieloznaczne nie są interpretowane. Wszystkie znaki są przekazywane do dostawcy lokalizacji. Dostawca może nie obsługiwać wszystkich znaków. Na przykład nie można utworzyć nazwy pliku, która zawiera znak gwiazdki (*).

Właściwości parametru

Typ:

String[]

Domyślna wartość:Current location
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

pathSet
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Value

Określa wartość nowego elementu. Możesz również przekazać wartość do New-Item.

Właściwości parametru

Typ:Object
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Cel

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

Object

Możesz przekazać wartość dla nowego elementu do tego polecenia cmdlet.

Dane wyjściowe

Object

To polecenie cmdlet zwraca utworzony element.

Uwagi

New-Item jest przeznaczona do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PsProvider. Aby uzyskać więcej informacji, zobacz about_Providers.