Just nu i M3-nätverket
Gå till innehåll

Radera NEF-filer från SDXC m.fl. kort


brra1
 Share

Rekommendera Poster

Har försökt radera bildfiler från mina minneskort. JPG-filer funkar att radera både från Photoshop  och utforskaren men inte NEF-filer (rawfiler). Det går utmärkt från kameran men är tidsödande med flera olika handgrepp. När jag markerar JPG-filerna i datorn får jag upp Ta bort-alternativ men inte i NEF.

Länk till kommentar
Dela på andra webbplatser

Flyfisherman

Hej, det har jag varit med om också tidigare, men irriterat  mig på av samma anledning.

Jag frågade då min kompis i Tyskland som direkt skrev ett sk. script som löste det hela.

Nu var det nåt år sedan jag använt detta, men borde fungera lika bra i dag.

 

Alltså en .bat fil för Windows 7 eller på Windows 10 blir det en .cmd fil istället.

Här är en kort instruktion eller hur scriptet fungerar:

Först skapas en egen mapp som kan kallas för vadsomhelst tex. dings i exemplet nedan.

Du skapar och döper en xxx.cmd fil och lägger i samma mapp som du vill ta bort filerna med (eller kopiera denna där du först skapade den).

 

Scriptet kommer att skapa en ny mapp som heter dings och flytta alla NEF filer och även jpg från mappen där det körs ifrån till den nya undermappen.

Det bör finnas en motsvarande jpg fil för varje raw fil.

 

Sedan kommer det att ta bort alla filer från den sk. källmappen där det körs ifrån.
Därefter flyttas filerna tillbaks till källmappen.

Till sist tas hela den mappen bort.

 

Kopiera in detta med en vanlig text-editor:

mkdir dings
for /f "delims==" %%r in ('dir /b *.jpg') do move "%%~dpr%%~nr.nef" "%CD%\dings\" 2> nul
move *.jpg "%CD%\dings\"
del *.nef
del *.jpg
move "%CD%\dings\*.*" "%CD%\"
rmdir dings

 

Filen heter nu xxx.cmd (valfritt namn före .cmd) och du högerklickar på filen (alternativt i kommandoprompten) och väljer 'Kör som Administratör'

Se till att du tar en backup innan, för filerna och mappen där det körs ifrån blir oåterkalleligen borttagna så var noga med var du kör detta script ifrån. Det måste ligga i samma mapp där du vill rensa.

:)

 

  • Gilla 1
Länk till kommentar
Dela på andra webbplatser

Flyfisherman

Om du är familjär med Python så hittade jag ett annat script som du klistrar in i dess editor (tyvärr glömt källan, men det spelar ingen roll), men kanske lite krångligare, fast med en del finesser å andra sidan. Används på egen risk naturligtvis och backup innan är a och o.

Texten efter # i scriptet är bara kommentarer och dessa talar om hur det hela fungerar.

Dock så skall bat filen ovan fungera utan mankemang.

 

import os 
import sys

#Searches through the current directory, recursively, looking for any raw
#and jpeg files. It enumerates the jpegs it finds, without the extension, and
#then enumerates the raw files it finds. If it finds a raw file for which no
#jpeg exists, then it deletes the raw file.
#
# This WILL NOT WORK, if there are files with repeated file numbers.
# this will NOT be an issue if there's only one camera. 

# A dict of filename: (rawpath, jpegpath)
files_seen = {}

for (cur_dir, subdirs, files) in os.walk("."):
  for file in files:
    fname, fext = os.path.splitext(file)
    fext = fext.lower()



    if (fext == ".jpg"):
      content = files_seen.setdefault(fname, [None, None])
      # if it is then filenames have du'ped
      assert(content[1] is None)
      content[1] = os.path.join(cur_dir, file)

    elif (fext == ".cr2"):
      content = files_seen.setdefault(fname, [None, None])
      assert(content[0] is None)
      content[0] = os.path.join(cur_dir, file)

#at the end, we look for raw files without a jpeg,

for key in files_seen:
  (raw_path, jpeg_path) = files_seen[key]

  if jpeg_path is None:
    print("Deleting: %s" % raw_path)
    #os.system("pause.exe")    
    os.unlink(raw_path)

print("Done")
os.system("pause.exe")

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

 Share

×
×
  • Skapa nytt...