Kommando eller script til at omdøbe flere filer i Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har omkring 400 film på min harddisk, men navne på disse film indeholder prikker eller understregning imellem som 'wrong\_turn.mkv' eller 'wrong.turn.mkv'. Jeg vil bare fjerne disse prikker eller specialtegn fra filnavnet og holde udvidelsen som den.
Enhver kommandolinje kommando eller Powershell/Python eller et andet script til Windows? Tak.

Bedste reference


Hvis de to filer, du har bopæl i samme mappe, så fjernes \_ fra den første fil, men når du prøver at fjerne prikken fra den anden fil, vil den mislykkes, fordi den har samme navn som den første . Måske er det en kasse, så her er den grundlæggende løsning:


Get-ChildItem -Filter *.mkv | Rename-Item -NewName {($\_.BaseName -replace '.|\_') + $\_.Extension}

Andre referencer 1


I PowerShell kan du bruge Omdøb-vare med en scriptblok, der bestemmer det nye navn.


dir -Recurse -Include *.mkv | Rename-Item -NewName { expression to determine new name }


Udtrykket i scriptblokken kan bruge $ \_ til at referere til den aktuelle FileInfo-objekt.


Mere konkret:


dir -Recurse -Include *.mkv | Rename-Item -NewName { $\_.Name.Replace('\_', ' ') }


Brug Rename-Item -WhatIf, indtil du får det rigtigt.