Rename-Item
Zmienia nazwę elementu w przestrzeni nazw dostawcy programu PowerShell.
Składnia
ByPath (Domyślna)
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Rename-Item
[-NewName] <String>
-LiteralPath <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie cmdlet Rename-Item zmienia nazwę określonego elementu. To polecenie cmdlet nie ma wpływu na zawartość zmienianej nazwy elementu.
Nie można użyć Rename-Item, aby przenieść element, na przykład określając ścieżkę wraz z nową nazwą. Aby przenieść i zmienić nazwę elementu, użyj polecenia cmdlet Move-Item.
Przykłady
Przykład 1. Zmiana nazwy pliku
To polecenie zmienia nazwę pliku daily_file.txt na monday_file.txt.
Rename-Item -Path "C:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Przykład 2. Zmienianie nazwy i przenoszenie elementu
Nie można użyć Rename-Item do zmiany nazwy i przeniesienia elementu. W szczególności nie można podać ścieżki dla wartości parametru NewName, chyba że ścieżka jest identyczna ze ścieżką określoną w parametrze Path. W przeciwnym razie dozwolona jest tylko nowa nazwa.
Rename-Item -Path "project.txt" -NewName "D:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -Path project.txt -NewName D:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "D:\archive\old-project.txt"
Ten przykład próbuje zmienić nazwę pliku project.txt w bieżącym katalogu na old-project.txt w katalogu D:\Archive. Wynikiem jest błąd wyświetlany w danych wyjściowych.
Zamiast tego użyj polecenia cmdlet Move-Item.
Przykład 3. Zmiana nazwy klucza rejestru
W tym przykładzie zmieniono nazwę klucza rejestru z Advertising na Marketing. Po zakończeniu wykonywania polecenia nazwa klucza zostanie zmieniona, ale wpisy rejestru w kluczu pozostają niezmienione.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Przykład 4. Zmiana nazwy wielu plików
Ten przykład zmienia nazwę wszystkich plików *.txt w bieżącym katalogu na *.log.
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
Polecenie cmdlet Get-ChildItem pobiera wszystkie pliki w bieżącym folderze, które mają rozszerzenie pliku .txt, a następnie potokuje je do Rename-Item. Wartość NewName to blok skryptowy, który uruchamia się przed przekazaniem wartości do parametru NewName.
W bloku skryptu zmienna automatyczna $_ reprezentuje każdy obiekt pliku, jeśli chodzi o polecenie za pośrednictwem potoku. Blok skryptu używa operatora -replace, aby zastąpić rozszerzenie każdego pliku na .log. Zwróć uwagę, że dopasowanie przy użyciu operatora -replace nie uwzględnia wielkości liter.
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ązkowy: | 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 podszyć się pod innego użytkownika lub podnieść swoje uprawnienia podczas uruchamiania tego cmdletu, 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ązkowy: | 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 działanie polecenia cmdlet, aby zmienić nazwy elementów, których normalnie nie można zmodyfikować, takich jak ukryte pliki, pliki tylko do odczytu, a także aliasy lub zmienne, które są tylko do odczytu. Polecenie cmdlet w programie PowerShell nie może zmienić aliasów stałych ani zmiennych. Implementacja różni się od dostawcy do dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers.
Nawet, gdy używa się parametru Force, polecenie cmdlet nie jest w stanie zastąpić ograniczeń zabezpieczeń.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-LiteralPath
Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | PSPath, LP |
Zestawy parametrów
ByLiteralPath
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-NewName
Określa nową nazwę elementu. Wprowadź tylko nazwę, a nie ścieżkę i nazwę. Jeśli wprowadzisz ścieżkę, która różni się od ścieżki określonej w parametrze Ścieżka , Rename-Item generuje błąd.
Aby zmienić nazwę i przenieść element, użyj Move-Item.
Nie można używać symboli wieloznacznych w wartości parametru NewName. Aby określić nazwę wielu plików, użyj operatora -replace w wyrażeniu regularnym. Aby uzyskać więcej informacji na temat operatora -replace, zobacz sekcję „about_Comparison_Operators” .
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 1 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-PassThru
Zwraca obiekt reprezentujący element do potoku. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określa ścieżkę elementu do zmiany nazwy.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ByPath
| Position: | 0 |
| Obowiązkowy: | True |
| 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ązkowy: | 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
String
Możesz przekierować ciąg zawierający ścieżkę do tego cmdletu.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
PSObject
Jeśli używasz parametru PassThru, to polecenie cmdlet zwraca obiekt reprezentujący zmieniony element.
Uwagi
Program PowerShell zawiera następujące aliasy dla Rename-Item:
- Wszystkie platformy:
renrni
Rename-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.