New-Item

Moduł: Microsoft.PowerShell.Management

Tworzy nowy element.

Syntax

New-Item <String> 
New-Item <String>] -Name <String> 

Description

Ccmdlet 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 i wpisy rejestru.

New-Item może również ustawiać wartość tworzonych elementów. Na przykład, gdy tworzy nowy plik, New-Item może dodać do niego początkową zawartość.

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 w cudzysłowie następujący po parametrze 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 lub innym obiektem systemu plików.

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

Przykład 3: Utwórz profil

To polecenie tworzy profil PowerShell w ścieżce, która jest określona przez zmienną $profile.

Profili można używać do dostosowywania PowerShell. $profile jest automatyczną (wbudowaną) zmienną, która przechowuje ścieżkę i nazwę pliku profilu „CurrentUser/CurrentHost”. Domyślnie profil ten nie istnieje, mimo że PowerShell przechowuje dla niego ścieżkę i nazwę pliku.

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

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

Więcej informacji można znaleźć w about_Automatic_Variablesi about_Profiles.

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

Przykład 4: Tworzenie katalogu w innym katalogu

Ten przykład tworzy nowy katalog Scripts w katalogu „C:\PS-Test”.

Nazwa nowej pozycji katalogu, „Scripts”, jest zawarta w wartości parametru Path, zamiast być określona w wartości Name. Jak wskazuje składnia, obie formy polecenia są ważne.

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

Przykład 5: Tworzenie wielu plików

Przykład ten tworzy pliki w dwóch różnych katalogach. Ponieważ polecenie Ścieżka przyjmuje wiele łańcuchów, można go 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żyj symboli wieloznacznych do utworzenia plików w wielu katalogach

Urządzenie New-Item cmdlet obsługuje symbole wieloznaczne w parametrze Ścieżka. Poniższe polecenie tworzy pliktemp.txt we wszystkich katalogach określonych przez symbole wieloznaczne w parametrze Ścieżka.

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

W cmdolecie Get-ChildItem pokazuje trzy katalogi pod katalogiem C:\Temp. Używając symboli wieloznacznych, cmdlet New-Item tworzy plik temp.txt we wszystkich katalogach pod bieżącym katalogiem. Narzędzie New-Item wypisuje utworzone elementy, które są przesyłane do Select-Object w celu sprawdzenia ścieżek nowo utworzonych plików.

Przykład 7: Tworzenie dowiązania symbolicznego do pliku lub folderu

Ten przykład tworzy dowiązanie symboliczne do pliku Notice.txt w bieżącym folderze.

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

W tym przykładzie parametr Target jest aliasem parametru Value. Cel dowiązania symbolicznego może być ścieżką względną. Przed PowerShell v6.2 cel musi być w pełni kwalifikowaną ścieżką.

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

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

Ten przykład tworzy folder z plikiem wewnątrz. Następnie próbuje utworzyć ten sam folder przy użyciu-Force. Nie spowoduje to nadpisania folderu, ale po prostu zwróci istniejący obiekt folderu z nienaruszonym utworzonym plikiem.

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

Przykład 9: Użyj parametru -Force do nadpisania istniejących plików

Ten przykład tworzy plik z wartością, a następnie odtwarza plik przy użyciu -Force. Powoduje to nadpisanie istniejącego pliku i utratę jego zawartości, 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\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

Uwaga

Przy użyciu New-Item z przełącznikiem -Force do tworzenia kluczy rejestru polecenie będzie zachowywać się tak samo jak przy nadpisywaniu pliku. Jeśli klucz rejestru już istnieje, klucz oraz wszystkie właściwości i wartości zostaną nadpisane pustym kluczem rejestru.

Parametry

-Potwierdź

Przed uruchomieniem polecenia cmdlet prosi o potwierdzenie.

Type: SwitchParameter
Aliases: cf
Position: Named
Domyślna wartość: False
Accept pipeline input: False
Accept wildcard characters: False
-Credential

Uwaga

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych z PowerShellem. Aby podszyć się pod innego użytkownika lub podnieść swoje poświadczenia podczas uruchamiania tego cmdleta, użyj Invoke-Command.

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

Wymusza ten cmdlet do utworzenia elementu, który zapisuje nad istniejącym elementem tylko do odczytu. Implementacja różni się w zależności od dostawcy. Nawet używając parametru Force, polecenie nie może nadpisać ograniczeń bezpieczeństwa.

Typ: Parametr przełączania
Pozycja: Nazwa
Domyślna wartość: Brak
Akceptuj dane wejściowe rurociągu: 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, z którego korzystasz.

Jeśli lokalizacja znajduje się w napędzie FileSystem, dozwolone są następujące wartości:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Uwaga

Tworzenie typu SymbolicLink w systemie Windows wymaga podniesienia uprawnień jako administrator. Jednak system Windows 10 (kompilacja 14972 lub nowsza) z włączonym trybem deweloperskim nie wymaga już podniesienia przy tworzeniu dowiązań symbolicznych.

W dysku Certificate można określić następujące wartości:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Więcej informacji można znaleźć w temacie about_Providers.

Type: String
Alias: Type
Position: Named
Wartość domyślna: None
Accept pipeline input: True
Accept wildcard characters: False
-Name

Określa nazwę nowego elementu. Nazwę nowego elementu można określić w wartości parametru Name lubPath, natomiast ścieżkę do nowego elementu można określić w wartości Name lub Pathvalue. Nazwy elementów przekazane przy pomocy parametru Name są tworzone względem wartości parametruPath.

Type: String
Position: Named
Wartość domyślna: None
Accept pipeline input: True
Accept wildcard characters: False
-Path

Określa ścieżkę lokalizacji nowego elementu. Domyślnie jest to bieżąca lokalizacja, gdy ścieżkaPath jest pominięta. Nazwę nowego elementu można podać w parametrze Name lub zawrzeć ją wPath. Nazwy elementów przekazywane za pomocą parametru Name są tworzone względem wartości parametruPath.

W przypadku tego cmdleta parametr Path działa tak jak parametr LiteralPath w innych cmdletach.Znaki wieloznaczne nie są interpretowane. Wszystkie znaki są przekazywane do dostawcy lokalizacji. Provider może nie obsługiwać wszystkich znaków. Na przykład, nie można utworzyć nazwy pliku, która zawiera znak gwiazdki (*).

Typ: String
Pozycja: 0
Wartość domyślna: Obecna lokalizacja
Przyjmij dane wejściowe rurociągu: True
Accept wildcard characters: False
-Value

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

Typ: Object
Alias: Target
Position: Named
Wartość domyślna: None
Accept pipeline input: True
Accept wildcard characters: False
-WhatIf

Pokazuje, co by się stało, gdyby cmdlet został uruchomiony.Polecenie nie jest uruchamiane.

Type: SwitchParameter
Aliases: wi
Position: Named
Domyślna wartość: False
Accept pipeline input: False
Accept wildcard characters: False

Inputs

Object

Do tego cmdleta można potokować wartość dla nowego elementu.

Outputs

Object

Ten cmdlet zwraca element, który tworzy.

Notes

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

  • Clear-Item
  • Copy-Item
  • Get-Item
  • Invoke-Item
  • Move-Item
  • Remove-Item
  • Rename-Item
  • Set-Item
  • about_Providers

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.