Avatar billede jakobscafe Nybegynder
27. juni 2003 - 11:06 Der er 2 kommentarer og
2 løsninger

Ændre PIC000*.JPG til filedate+<position 7+8>.JPG

Dav. Jeg har en mængde digital billeder som ligger i forskellige mapper. De hedder alle PIC00001.JPG (og 002 osv) i hver mappe. - altså hvergang jeg tømmer kortet nulstilles tælleren.
Jeg vil gerne på en snild måde have filnavnet til at bestå af fildatoen som ååmmdd og tallene fra position 7+8 i filnavnet, sådan at et billede f.eks. kommer til at hedde 03062501.jpg osv.
Nogen ideer?

mvh Jakob
Avatar billede soda Nybegynder
28. juni 2003 - 01:36 #1
Jeg tror ikke du kommer så nemt ud af dette.

Det kan nok godt laves i Visual Basic, men har kigget lidt på VBScript. Du kan sagtens finde navnet på en fil og hvornår den er oprettet m.fl., men jeg kan ikke umiddelbart finde en rename function i VBScript.

Det kan godt være mig der kigger forkert.

Du kunne lav et script der skrev en fil ud, som du så blot kunne køre efterfølgende. Den kunne se sådan her ud...

cd images
cd 1
ren pic00001.jpg 03062601.jpg
ren pic00002.jpg 03062602.jpg
ren pic00003.jpg 03062603.jpg
ren pic00004.jpg 03062604.jpg
ren pic00005.jpg 03062605.jpg
ren pic00006.jpg 03062606.jpg
cd ..
cd 2
ren pic00001.jpg 03062601.jpg
ren pic00002.jpg 03062602.jpg
ren pic00003.jpg 03062603.jpg
ren pic00004.jpg 03062604.jpg
ren pic00005.jpg 03062605.jpg
ren pic00006.jpg 03062606.jpg

osv. osv.

Denne fil kan du så eksikvere fra et Commando prompt.

Dette er tilgengæld ikke det sværeste, at lave, men tager bare lidt tid, at sætte sig ind i, hvis man ikke er en haj til det.
Avatar billede dk_akj Nybegynder
16. juli 2003 - 08:47 #2
ssFDESKTOP = &H0 
ssFFLAGS  = &H1               
ssFTEXT    = "Omdøb filer i folder"

sSelectedPath = SelectFolder (ssFDESKTOP, ssFTEXT, ssFFLAGS)
If Len(sSelectedPath)=0 Then
    Wscript.quit
Else
    set fso=createobject("scripting.filesystemobject")
    thisfolder=sSelectedPath

    i = inputbox("Startnummer")
    if not isnumeric(i) then
        msgbox("Du skal indtaste et tal !!")
        Wscript.quit
    end if

        for each f in fso.getfolder(thisfolder).files
           
            if lcase(right(f.name,3)) = "jpg" then

                y = year(f.DateCreated)
   
                if len(y) < 2 then
                    y = "0" & y
                end if

                m = month(f.DateCreated)
                if len(m) < 2 then
                    m = "0" & m
                end if

                d = day(f.DateCreated)
                if len(d) < 2 then
                    d = "0" & d
                end if

                newname = y & m & d

                f.name = newname & "_" &  i & ".jpg"
                i = i + 1
            end if
        next
    msgbox i & " filer omdøbt."
end if

Function SelectFolder(ssFROOT, ssFASK, ssFFLAGS)
  Set oSHA = CreateObject("Shell.Application")
  Set oSF = oSHA.BrowseForFolder(0,ssFASK,ssFFLAGS,ssFROOT)
  If Instr(TypeName(oSF),"Folder")<> 1 Then Exit Function
  For Each oItem in oSF.ParentFolder.Items
    If oItem.Name = oSF.title Then
      SelectFolder = oItem.path
      Exit Function
    End If
Next
SelectFolder = oSF.title
End Function


//akj
Avatar billede killerclown Nybegynder
16. juli 2003 - 15:59 #3
Hej !
Bruger du windows Xp, så du kan se dato og tid for billedet i "advanced"
i properties på billederne ?? (date picture taken)
/Killerclown
Avatar billede adam_christensen Nybegynder
23. juli 2003 - 20:16 #4
Exifer er et gratis program der kan just det du efterspørger:
http://www.exifer.friedemann.info
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester