Script i windows för att ta bort x antal tecken i filer i en katalog

Permalänk
Medlem

Script i windows för att ta bort x antal tecken i filer i en katalog

Håller på att fixa lite bland mina filer som jag har och försöker då snygga till filernas namn.

Exempelvis så har jag en hel del filer som har

"Titel.datum.klocka-1313515.audio.ts"

Siffrorna är random och det jag vill göra är att ta bort det som är mellan - och .

Så resultatet blir "Titel.datum.klocka.audio.ts"

Antingen köra i batch eller powershell men är lite osäker då siffrorna är random så jag kan inte köra en replace.

Permalänk

Är det några fler bindestreck någonstans i filnamnet? T.ex. mellan år, månad och dag i datumet.

Är det fler punkter i filnamnet än de fyra du har i exemplet? T.ex. mellan timmar, minuter och sekunder i klockslaget.

Permalänk
Avstängd

Anger inte siffrorna på slutet antalet frames? Och bör inte den där audio.ts också ha en video.ts som bör matchas i filnamn? (gissar bara nu)

Visa signatur

"Företagsboendeförmedlare" | Min Überkill Dator: Processor: Intel Pentium P5 66 Mhz OC | Moderkort: ASRock P4I65G | Minnen: 2st Samsung 128MB PC133 | Grafikkort: Canopus GeForce 256 DDR | Lagring: IBM 350 4,4 MB | Operativsystem: DOS/360 | Chassi: Mercury Full-Tower ATX Chassis |

Permalänk
Medlem

Batch rename är inkluderat i PowerToys för Win10
https://docs.microsoft.com/en-us/windows/powertoys/powerrenam...

Permalänk
Medlem

Get-ChildItem "D:\Path\To\Files" -Filter *.ts | Foreach-Object { $directory = [System.IO.Path]::GetDirectoryName($_) $basename = [System.IO.Path]::GetFileName($_.Name) -replace '(.*)-\d+(.*)', '$1$2' $newname = [System.IO.Path]::Combine($directory, $basename) Rename-Item $_.FullName $newname }

Edit: Bara snabbtestat, stäm mig inte om det inte funkar.

Edit2: En variant utan .NET-referenser:

Get-ChildItem "D:\Temp\temp" -Filter *.ts | Foreach-Object { $directory = Split-Path -Path $_ $basename = (Split-Path -Path $_.Name -Leaf) -replace '(.*)-\d+(.*)', '$1$2' $newname = Join-Path -Path $directory -ChildPath $basename Rename-Item $_.FullName $newname }

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Rekordmedlem

Jag brukar använda Aren https://www.advancedrenamer.com den har mycket bra funktioner på ett lätt sätt och räcker inte de går den också att scripta och böka runt med reguljära uttryck i.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.