Rename-Item

Zmienia nazwę istniejącego elementu.

Rename-Item to cmdlet PowerShella, który zmienia nazwę istniejącego elementu — pliku, folderu, klucza rejestru, aliasu czy zmiennej. Działa na dowolnym dostawcy (provider), więc tym samym poleceniem przemianujesz plik na dysku i wpis w HKLM:. Kluczowa sprawa, o której warto pamiętać od razu: Rename-Item tylko zmienia nazwę w miejscu — nie przenosi elementu do innego katalogu. Jeśli w -NewName wrzucisz ścieżkę, dostaniesz błąd. Do przenoszenia jest Move-Item.

Składnia i najważniejsze opcje

Podstawowa forma: Rename-Item [-Path] [-NewName] [opcje]

  • -Path — ścieżka do elementu, który zmieniasz. Akceptuje symbole wieloznaczne (*, ?), ale dotyczyć musi pojedynczego elementu.
  • -NewName — sama nowa nazwa, bez ścieżki i bez wildcardów. To tu najczęściej ludzie się wykładają.
  • -LiteralPath — ścieżka brana dosłownie, znak po znaku. Używaj, gdy nazwa zawiera nawiasy kwadratowe albo inne znaki, które PowerShell potraktowałby jak wzorzec.
  • -Force — przemianuje elementy ukryte lub tylko-do-odczytu, których normalnie ruszyć się nie da.
  • -PassThru — zwraca obiekt przemianowanego elementu, przydatne w potoku (domyślnie cmdlet nic nie wypisuje).
  • -WhatIf — pokazuje, co by się stało, ale nic nie wykonuje. Twój pas bezpieczeństwa przy operacjach masowych.
  • -Confirm — pyta o potwierdzenie przed każdą zmianą.

Przykłady użycia

  • Rename-Item -Path raport.txt -NewName raport-2026.txt — klasyka: zmiana nazwy jednego pliku.
  • Rename-Item -Path 'C:\dane\stary folder' -NewName 'nowy folder' — to samo z folderem, ścieżka w cudzysłowie ze względu na spację.
  • Get-ChildItem *.jpeg | Rename-Item -NewName { $_.Name -replace '\.jpeg$','.jpg' } — masowa zmiana rozszerzenia z użyciem bloku skryptu i potoku.
  • Rename-Item -Path log.txt -NewName log_old.txt -Force -WhatIf — najpierw symulacja na pliku tylko-do-odczytu, dopiero potem uruchamiasz bez -WhatIf.
  • Rename-Item -LiteralPath 'plik[1].txt' -NewName 'plik1.txt' — dosłowna ścieżka, bo nawiasy w nazwie psułyby zwykłe dopasowanie.

Częste błędy i pułapki

Najczęstszy błąd to wciśnięcie pełnej ścieżki w -NewName — cmdlet to odrzuci, bo oczekuje samej nazwy. Drugi grzech: próba przemianowania wielu plików naraz przez -Path *.txt z jedną nazwą docelową — to skończy się błędem, bo dwa pliki nie mogą mieć tej samej nazwy. Do operacji wsadowych używaj potoku z Get-ChildItem i bloku skryptu w -NewName. Pamiętaj też, że nazwy z nawiasami kwadratowymi wymagają -LiteralPath, inaczej PowerShell potraktuje je jak wzorzec i „nie znajdzie” pliku, który masz przed oczami.

Powiązane komendy: Move-Item (przenoszenie i przy okazji zmiana nazwy), Copy-Item, Rename-ItemProperty (nazwa właściwości, np. w rejestrze), Get-ChildItem.