---
title: "Namnbyte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/169194-namnbyte"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "SoulGod"
published: "2008-02-19T14:45:20.000Z"
updated: "2008-02-20T20:31:29.000Z"
replies: 3
views: 652
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/169194-namnbyte"
---

# Namnbyte

## #1 — SoulGod, 2008-02-19T14:45Z

Har inte en aning om vilken tråd jag ska lägga detta i, men jag prövar här...

Jag har 2517 filer (8,3 Gb) som jag skulle vilja döpa om.
filerna kan t.ex heta
1234567890 Nisse Hem.wav
0987654321 Gösta Borta.wav
4645678945 Berit Hem.wav
o.s.v.
o.s.v.

Jag vill ha ett "script" eller något liknande, som går in och döper om alla dessa filer. (Måste kunna stödja subkategorier, då det är uppdelat i följande träd:
År
\> Månad
 \>\> Vecka
  \>\>\> Dag

Det som skall tas bort i filnamnet är allt som står efter
1234567890\...

Alltså scriptet skall ignorera dom tio första tecknen
xxxxxxxxxx .. och allt därefter skall tas bort (utom filändelsen)

Vill inte direkt sitta för hand och döpa om dessa.
Hur gör jag detta lättast?

Permalänk: https://www.webforum.nu/p/169194

## #2 — voigtann1, 2008-02-19T14:57Z

VB borde kunna fixa detta? 

```
Hur gör jag detta lättast?
```

Enklast skulle jag nog säga VB då du verkar ha lite kunskaper inom ASP.

FileSystemObject:
<http://articles.techrepublic.com.com/5100-3513-1050078.html>
<http://support.microsoft.com/kb/q186118/>

Permalänk: https://www.webforum.nu/p/2083801

## #3 — lost, 2008-02-20T16:04Z

[Total Commander](http://www.ghisler.com/) fixar det med sin multi-rename.   :bire 

1\. Ställ dig i roten på katalogstrukturen med dina filer och leta efter alla filer som heter \*.wav (Shift+Alt+F7) Och tryck på "Feed to listbox"
2\. Markera alla filer (Ctrl+A) och ta fram rename verktyget (Ctrl+M)
3\. Skriv in \[N1-10\] som "Rename mask" så ser du det föreslagna resultatet i listan nedan.

Testa på en liten del först, så du ser att det blir rätt.

Permalänk: https://www.webforum.nu/p/2084041

## #4 — TomasJ, 2008-02-20T20:31Z

Eftersom frågan trots allt placerades i programmeringsforumet så kan jag passa på och tipsa om [Ruby](http://www.ruby-lang.org/)  ifall någon skulle vilja loopa igenom alla filer i alla subkataloger och döpa om dem på ett programmatiskt sätt:

```
require 'find'
require 'pathname'

Find.[URL=http://www.ruby-doc.org/stdlib/libdoc/find/rdoc/classes/Find.html]find[/URL]("C:/DinRootKatalogMedSubkatalogerOchFiler") do |fileNameInlcudingFullPath|

   path = [URL=http://www.ruby-doc.org/core/classes/Pathname.html]Pathname[/URL].new(fileNameInlcudingFullPath)

   if path.directory? then 
      # ignorera kataloger d.v.s. de vill vi inte döpa om så vi hoppar vidare till nästa fil
      next
   end

   directoryPath = path.parent
   fileName      = path.basename

   newFileName   = fileName.[URL=http://ruby-doc.org/core/classes/String.html#M000831]sub[/URL](/(\d{10}).*\.(.{3,4})/, '\1.\2')
   newPath       = directoryPath + newFileName

   # verifiera först resultatet m.h.a. 'puts' 
   # (motsvarande t.ex. Java System.out.println eller C#.NET Console.WriteLine)
   puts
   puts "old: " + path
   puts "new: " + newPath	

   # efter en exekvering med 'puts' enligt ovan 
   # (och visuell inspektion av att filerna kommer att döpas om på önskvärt sätt)
   # så kan följande rad aktiveras: (genom att ta bort brädgården)
   #path.rename(newPath)
end
```

/ Tomas

Permalänk: https://www.webforum.nu/p/2084153

---

Tråden på webben: https://www.webforum.nu/amne/programmering/169194-namnbyte
