Tworzy nowy element.
- Syntax
- Description
- Przykłady
- Przykład 1: Tworzenie pliku w bieżącym katalogu
- Przykład 2: Tworzenie katalogu
- Przykład 3: Utwórz profil
- Przykład 4: Tworzenie katalogu w innym katalogu
- Przykład 5: Tworzenie wielu plików
- Przykład 6: Użyj symboli wieloznacznych do utworzenia plików w wielu katalogach
- Przykład 7: Tworzenie dowiązania symbolicznego do pliku lub folderu
- Przykład 8: Użyj parametru -Force, aby spróbować odtworzyć foldery
- Przykład 9: Użyj parametru -Force do nadpisania istniejących plików
- Parametry
- Inputs
- Outputs
- Notes
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
.