Permalänk
Medlem

Rekursiva namnbyten

Jag letar efter ett program som kan byta namn på en massa filer och mappar rekursivt.
Jag har en mapp som har fått en massa skumma teckenkombinationer, tex _E5 för å och _20 för [mellanslag], varför vet jag inte.

Men om någon har ett program där jag kan byta ut just den tecken kombinationen mot valfritt annat tecken rekursivt så vore det guld.

I vilken form programmet kommer gör inget; färdigförpackat lösning, obskyr oneliner i perl/python eller ngt annat.

Permalänk
Medlem

Rekommenderar att du byter raden os.renames mot "print old, new" eller nåt innan du kör så det inte blir fel.

# encoding: latin-1 import os for path, dirs, files in os.walk(ur"."): for file in files: old = path+"/"+file new = path+"/"+file.replace('_E5', u'å') if old != new: try: os.renames(old, new) except: print "Rename %s failed." % old

Visa signatur

:€

Permalänk
Hedersmedlem

Om du kör *NIX:

find <katalog> -type f | while read i; do mv "$i" "$(echo $i | sed -e 's/_E5/å/g' -e 's/_20/ /g')"; done

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Om du kör MS Windows kan jag rekomendera ett program som heter A.F.5 för att byta namn på många filer. Bra överblick, enkelt och ganska kraftfullt. Det är gratis och finns på http://www.fauland.com/af5.htm

Permalänk
Medlem
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Malesca
För Windows är Renamer rätt bra.

Finns även för mac.

Permalänk
Hedersmedlem

Han skrev t.ex. om _E5 och _20
Jag tolkar det som det finns andra skummisar och som vi sett så är det ju (mest troligen) hexadecimala representationen för ASCII-tecknet som var där.

Så ett program som söker efter underscore (om man inte brukar döpa sina saker till det) och tar de två nästkommande tecknen och gör om det till sitt ascii-värde istället?

Kanske säkrast om en lång lista genereras först så man får förhandsgranska det.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

Alla era program funkade men de kunde inte byta namn på mappar.

Permalänk
Medlem

detta BÖR kunna fixa till det!
http://www.softbytelabs.com/us/nw/index.html

"Create & Rename Folders: All what NameWiz can do does not only apply to files, in fact, you can rename folders in the same exact way you rename files. Beside renaming files, NameWiz can also create files and folders the same way it rename them. For example, create 5 years of monthly folders for your accounting software, say, 01-2003 to 12-2007. That's too many folders to create manually. Let NameWiz do it for you in 1 second."

Permalänk
Medlem

Hur är det med Total Commander?

Visa signatur

"Ahh! Min chokladkaka!" - Fräds lillebror

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av nystan
Alla era program funkade men de kunde inte byta namn på mappar.

onödig fundering, funkar det på tomma mappar?

Permalänk
Hedersmedlem

Oj, missade att det var kataloger också.

find <katalog> | while read i; do mv "$i" "$(echo $i | sed -e 's/_E5/å/g' -e 's/_20/ /g')"; done

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av nystan
Alla era program funkade men de kunde inte byta namn på mappar.

Byt "for file in files" mot "for file in files+dirs". Men med Renamer som nån annan nämnde funkar det också. Glömde du klicka i mappar-checkboxen?

Visa signatur

:€