SoulGodMedlem sedan aug. 20051 200 inlägg 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?
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/
lostMedlem sedan feb. 20087 inlägg Total Commander 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.
TomasJMedlem sedan feb. 200563 inlägg Eftersom frågan trots allt placerades i programmeringsforumet så kan jag passa på och tipsa om Ruby 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