Jak hromadně přejmenovat soubory v Powershellu

Občas může nastat situace, kdy potřebuješ přejmenovat hodně souborů najednou. Například potřebuješ změnit přípony soborů,  odstranit mezeru v názvu, nebo přidat prefix ke všem souborům. Na následujících příkladech si ukážeme jak jednoduše na to.

Pro přejmenovaní by šlo využit příkazové řádky CMD. Dnes však doporučuji již vše co lze v dělat Powershellu. Jedná se jednoduchý skriptovací nástroj jehož alespoň částečné zvládnutí ti pomůže efektivně spravovat Windows.

Pro začátky s Powershellem doporučuji využívat vestavěné IDE Powershell ISE. Jeho nespornou výhodu je, že je vestavěný ve všech Windows, také je snadno ovladatelný a lépe se v něm pracuje než pouze v příkazové řádce Powershellu. 

Pokud by jsi chtěl ještě dodělat nějaký typický příklad napiš do komentářů napíšu a přidám ho.

Hromadná změna koncovky

#zdrojová přípona 
$sourceExtension="*.mp3"

#cílová přípona
$targetExtension=".mp4"

#najdi všechny soubory s koncovkou mp3 a ty přejmenuj na mp4
Get-ChildItem -Path "C:\Temp\" -Filter $sourceExtension | Rename-Item -NewName {($_.basename)+$targetExtension}

Hromadné přidání prefixu

#zdrojová přípona 
$sourceExtension="*.jpg"

#aktualní datum ve formátu rok-mesic-den
$prefix= Get-Date -Format yyyy-MM-dd

#najdi všechny soubory s koncovkou jpg a těm přidej do názvu prefix ve formátu datum_původníNázev
Get-ChildItem -Path "C:\Temp\" -Filter $sourceExtension | Rename-Item -NewName {$prefix+"_"+($_.name)}

Hromadné nahrazení – odstranění mezer a podobně

#mezera
$withSpace="* *"


#najdi všechny soubory které mají v názvu mezeru a tu nahraď pomlčkou
Get-ChildItem -Path "C:\Temp\" -Filter $withSpace | Rename-Item -NewName {($_.name) -replace ' ','-' }

Jak hromadně přejmenovat soubory v Powershellu
Tagy:                 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *