A furcsa karaktereket tartalmazó fájlnevek átnevezése a PowerShell segítségével
Nemrég volt egy számítógépem rengeteg fájllal, amelyről biztonsági másolatot kellett készítenem, és fel kellett töltenem a OneDrive Vállalati verzióba (OdfB). Valamilyen ismeretlen okból sok olyan fájl volt, amely egy szóköz karaktert tartalmazott (%20), de voltak olyan fájlnevek is, amelyek # karaktert tartalmaztak.
Mondanom sem kell, hogy az OdfB kliensnek nem tetszett, és folyamatosan panaszkodott, hogy nem tud fájlokat feltölteni, újra és újra meg akarta próbálni…. Nem szerettem volna átnevezni ezeket a fájlokat (több száz könyvtárban), de ez nagyszerű a PowerShell számára.
A %20-at tartalmazó összes fájl megtalálásához a következő parancsot használtam:
Dir -Recurse | Where-Object {$_.Name -like "*%20*" }Most már csak át kell nevezni a „%20” karaktert egy másik karakterrel, például egy aláhúzásjelet „_ ”, így:
Dir -Recurse | Where-Object {$_.Name -like "*%20*" } | Rename-Item -NewName { $_.Name -replace "%20","_" }
És íme, az összes „%20” karakter eltávolítva a fájlnevekből, és készen áll a OneDrive Vállalati verzióba való feltöltésre