Kravat Geschrieben 4. Mai 2012 Share #1 Geschrieben 4. Mai 2012 Werbung (verschwindet nach Registrierung) Hallo zusammen, vielleicht interessiert es den einen oder anderen hier im Forum, deshalb teile ich gerne meine Erfahrung mit der Nex 5n. Die neuen 16Gb (oder 32Gb) SDs ermöglichen es, tagelang mit dem Apparat unterwegs zu sein, ohne jemals eine neue SD reinzustecken. Wenn aber die Fotos/Videos irgendwann sauber sortiert auf dem Heim-PC, in bestimmten Ordnern landen sollen, wird es ziemlich zeitaufwendig! Deshalb habe ich mir einen "Visual Basic" Skript (vbs) gebastelt, der die Fotos automatisch von der SD auf die Festplatte kopiert. Hier die wesentlichen Merkmale des Skripts: -alle Fotos und Videos werden in Ordnern mit Monatsnamen einsortiert (zB. "2012-05": somit kann im Nachhinein auch auf Ordner Name sortiert wird, und es bleibt trotzdem chronologisch). -ist ein Ordner nicht vorhanden, wird er angelegt. -existierende Videos und Fotos werden nicht kopiert (also nicht überschrieben). Mit ein bisschen Windows Know-How geht das ganze relativ einfach: 1- "importDataFromSD.vbs" Datei in Windows anlegen: rechts-klick im Windows-Explorer, "Neu/Textdokument", Namen in "importDataFromSD.vbs" abändern. 2- folgenden Inhalt reinkopieren: ' import für Sony N5 ' Sven H., 04.05.2012, v1 Dim sPhotoOriginFolder, sDestinationFolder, sFile, oFSO Set oFSO = CreateObject("Scripting.FileSystemObject") sPhotoOriginFolder = "L:\DCIM\100MSDCF" sVideoOriginFolder = "L:\PRIVATE\AVCHD\BDMV\STREAM" sDestinationFolder = "G:\Photos" sPhotoOriginFolder = InputBox("Photo Origin Folder: ", "Enter photo origin folder", "L:\DCIM\100MSDCF", 100, 100) sVideoOriginFolder = InputBox("Video Origin Folder: ", "Enter video origin folder", "L:\PRIVATE\AVCHD\BDMV\STREAM", 100, 100) sDestinationFolder = InputBox("Destination Folder: ", "Enter destination folder", "G:\Photos", 100, 100) sDestinationFolderInit = sDestinationFolder Wscript.StdOut.WriteLine "-Start-" For Each sFile In oFSO.GetFolder(sPhotoOriginFolder).Files WScript.StdOut.WriteLine "Processing " & sFile sDestinationFolder = sDestinationFolderInit sFileDate = Replace(Left(sFile.DateLastModified,10),".","-") sFileDate = split(sFileDate,"-")(2) & "-" & split(sFileDate,"-")(1) sDestinationFolder = sDestinationFolder & "\" & sFileDate sFlagNothing = "true" 'Der Folder für die Datei existiert noch nicht und wird angelegt If Not oFSO.FolderExists(sDestinationFolder) then WScript.StdOut.WriteLine " " & sDestinationFolder & " wird angelegt..." oFSO.CreateFolder(sDestinationFolder) sFlagNothing = "false" end if ' Die Datei existiert noch nicht und wird kopiert If Not oFSO.FileExists(sDestinationFolder & "\" & oFSO.GetFileName(sFile)) Then WScript.StdOut.WriteLine " " & oFSO.GetFileName(sFile) & " wird nach " & sDestinationFolder & " kopiert..." oFSO.GetFile(sFile).Copy sDestinationFolder & "\" & oFSO.GetFileName(sFile),True 'WScript.StdOut.Write "Copying : " & Chr(34) & oFSO.GetFileName(sFile) & Chr(34) & " to " & sDestinationFolder sFlagNothing = "false" End If if sFlagNothing = "true" then WScript.StdOut.WriteLine " " & " Die Datei " & oFSO.GetFileName(sFile) & " existiert bereits" end if Next ' Das gleiche für die Videos Wscript.StdOut.WriteLine "-Videos-" For Each sFile In oFSO.GetFolder(sVideoOriginFolder).Files WScript.StdOut.WriteLine "Processing " & sFile sDestinationFolder = sDestinationFolderInit sFileDate = Replace(Left(sFile.DateLastModified,10),".","-") sFileDate = split(sFileDate,"-")(2) & "-" & split(sFileDate,"-")(1) sDestinationFolder = sDestinationFolder & "\" & sFileDate sFlagNothing = "true" 'Der Folder für die Datei existiert noch nicht und wird angelegt If Not oFSO.FolderExists(sDestinationFolder) then WScript.StdOut.WriteLine " " & sDestinationFolder & " wird angelegt..." oFSO.CreateFolder(sDestinationFolder) sFlagNothing = "false" end if ' Die Datei existiert noch nicht und wird kopiert If Not oFSO.FileExists(sDestinationFolder & "\" & oFSO.GetFileName(sFile)) Then WScript.StdOut.WriteLine " " & oFSO.GetFileName(sFile) & " wird nach " & sDestinationFolder & " kopiert..." oFSO.GetFile(sFile).Copy sDestinationFolder & "\" & oFSO.GetFileName(sFile),True 'WScript.StdOut.Write "Copying : " & Chr(34) & oFSO.GetFileName(sFile) & Chr(34) & " to " & sDestinationFolder sFlagNothing = "false" End If if sFlagNothing = "true" then WScript.StdOut.WriteLine " " & " Die Datei " & oFSO.GetFileName(sFile) & " existiert bereits" end if Next Wscript.StdOut.WriteLine "-Ende!-" Do While Not WScript.StdIn.AtEndOfLine Input = WScript.StdIn.Read(1) Loop wscript.quit 3- Skript anpassen: der Skript muss natürlich der PC-Umgebung angepasst werden, in erster Linie die "sDestinationFolder" Variable. Sie bestimmt den Zielordner aller Unterordner. Die "sPhotoOriginFolder" und "sVideoOriginFolder" Variablen sollten bei allen Sony Nex identisch sein (und auch standard, wenn ich mich recht entsinne). Die Anpassungen kann man ggf. vor dem Start des Skripts in den 3 kleinen Fenstern machen aber die Änderungen sind nicht persistent. 4- einen "Shortcut", bzw. "Verknüpfung", anlegen der auf die Datei verweist: auf die Datei "importDataFromSD.vbs" einen rechts-klick, dann "Verknüpfung erstellen" wählen. 5- die Eigenschaften der Verknüpfung anpassen: auf die Datei "importDataFromSD.vbs" einen rechts-klick, dann "Eigenschaften". Den "Ziel" Parameter wie folgt abändern: "C:\Windows\System32\cmd.exe /k cscript "C:\importDataFromSD.vbs" ". 6- ein doppel-klick auf die Verknüpfung und schon geht es los! Falls irgendwas während dem Ablauf des Skripts schief geht, einfach im Commando-Fenster "Steuerung+c" drücken. Der Skript wird gestoppt. Das ganze ist für Windows-Neophyten nicht unbedingt trivial, aber mit ein bisschen Grundkenntnis in der Materie sollte es relativ einfach gehen. Viel Spass und schöne Fotos! -k Link zum Beitrag Auf anderen Seiten teilen More sharing options...
Kaspar Geschrieben 5. Mai 2012 Share #2 Geschrieben 5. Mai 2012 Unter Windows 7 kommt bei mir eine Fehlermeldung: "C:\importDataFromSD.vbs(15, 28) Kompilierungsfehler in Microsoft VBScript: Anweisung erwartet. Das neue Verzeichnis (bei mir D:\NEX-Photos) wird nicht angelegt. Gruß Kaspar Link zum Beitrag Auf anderen Seiten teilen More sharing options...
Kravat Geschrieben 6. Mai 2012 Autor Share #3 Geschrieben 6. Mai 2012 Schade. Im Ernst: der Ordner für die Fotos muss schon existieren, der wird NICHT angelegt. Es werden nur die Unterordner angelegt (die mit dem Monatsnamen). HTH! -k Link zum Beitrag Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden