New-Item

Tworzy nowy element.

Składnia

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

Opis

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

New-Item może również ustawić wartość tworzonych elementów. Na przykład podczas tworzenia nowego pliku New-Item można 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 C: dysku. 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 .

Do dostosowywania programu PowerShell można użyć profilów. $profile to zmienna automatyczna (wbudowana), 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. Parametr ItemType określa, że polecenie tworzy plik. Parametr Force umożliwia utworzenie pliku w ścieżce profilu nawet wtedy, gdy katalogi w ścieżce nie istnieją.

Po utworzeniu profilu można 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 "Scripts" jest uwzględniona w wartości parametru Path , zamiast być określona w wartości Name. Jak wskazano w składni, 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żna jej użyć 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 New-Item cmdlet obsługuje symbole wieloznaczne w parametrze Ścieżka . Następujące polecenie tworzy temp.txt plik 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 Get-ChildItem cmdlet wyświetla trzy katalogi w C:\Temp katalogu. Za pomocą symboli wieloznacznych New-Item polecenie cmdlet tworzy temp.txt plik we wszystkich katalogach w bieżącym katalogu. Polecenie New-Item cmdlet generuje utworzone elementy, które są przesyłane potokowo, aby zweryfikować Select-Object ścieżki 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ć link symboliczny 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 zostanie utworzony folder z plikiem wewnątrz. Następnie próbuje utworzyć ten sam folder przy użyciu polecenia -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 polecenia -Force. Spowoduje to zastąpienie istniejącego pliku i utraci jego zawartość, jak można zobaczyć według 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

W przypadku korzystania z New-Item przełącznika w celu utworzenia -Force 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

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

-Credential

Uwaga

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 polecenia Invoke-Command.

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

-Force

Wymusza to polecenie cmdlet, aby utworzyć element zapisywany 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ń.

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

-ItemType

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

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

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

Uwaga

SymbolicLink Tworzenie typu w systemie Windows wymaga podniesienia uprawnień jako administrator. Jednak Windows 10 (kompilacja 14972 lub nowsza) z włączonym trybem dewelopera nie wymaga już podniesienia uprawnień tworzenia łączy symbolicznych.

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

  • Dostawca certyfikatów
  • Certyfikat
  • Przechowywanie
  • StoreLocation

Aby uzyskać więcej informacji, zobacz about_Providers.

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

-Name

Określa nazwę nowego elementu. Możesz określić nazwę nowego elementu w wartości parametru Nazwa lub Ścieżka . Możesz określić ścieżkę nowego elementu w polu Nazwa lub Ścieżka . Nazwy elementów przekazywane przy użyciu parametru Name są tworzone względem wartości parametru Ścieżka .

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters: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 polu Nazwa lub dołączyć go do ścieżki. Nazwy elementów przekazywane przy użyciu parametru Name są tworzone względem wartości parametru Ścieżka .

W przypadku tego polecenia cmdlet parametr Path 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 zawierającego znak gwiazdki (*).

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

-Value

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

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

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

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 przeznaczony 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.