Pytanie:
Jak mogę usunąć pliki wcześniej usunięte z Darktable?
Kerry
2018-06-08 07:45:07 UTC
view on stackexchange narkive permalink

Usunąłem niechciane obrazy z Darktable, naciskając klawisz Del . Właśnie dowiedziałem się, że to nie jest usuwanie obrazów z dysku twardego, a jedynie usuwanie ich z bazy danych Darktable.

Jak mogę usunąć (z dysku twardego) obrazy, które już usunąłem Darktable?

Pięć odpowiedzi:
Please Read My Profile
2018-06-08 14:04:22 UTC
view on stackexchange narkive permalink

Darktable ma dwie różne operacje: Usuń i Usuń / Kosz . Domyślnie klawisz DEL jest powiązany z tym pierwszym. To po prostu usuwa informacje o tym pliku z bazy danych i nie wpływa na rzeczywisty plik. Możesz to zmienić w preferencjach w skrótach:

darktable preferences dialog

Kliknij dwukrotnie opcję „usuń z dysku lub wyślij do kosza ”, a następnie naciśnij klawisz DEL . W przyszłości usuwanie będzie „rzeczywiste” w systemie plików, a nie tylko w bazie danych.

Niestety, nie ma sposobu, aby zrobić to wstecz, ponieważ z definicji darktable nie wie o tych plikach.

Darktable zawiera skrypt, który robi coś przeciwnego: usuwa pliki z bazy danych, gdy nie istnieją już na dysku. Jeśli masz trochę wiedzy na temat skryptów powłoki i SQL, ten przykład powinien pomóc Ci zacząć robić odwrotnie.

Lub możesz skorzystać z sprytnej sugestii @ junkyardsparkle.

Osobiście zostawiam Delete przypisane do „usuwania z kolekcji” i używam Shift + Delete do „usuwania z dysku” ... ponieważ oba są przydatne.
toroloco
2019-05-18 18:14:59 UTC
view on stackexchange narkive permalink

Możesz przyznać 5 gwiazdek wszystkim obrazom w swojej kolekcji (zaznacz wszystkie, a następnie naciśnij klawisz 5), a następnie użyj poniższego skryptu, aby usunąć wszystkie obrazy o rankingu 1 (ranking domyślny).

  for f in `grep -l 'Rating =" 1 "' \` ls * .xmp \ `` do rm $ {f% .xmp} rm $ fdone  

Zakłada się, że nie zmieniłeś oceny usuniętych obrazów. Alternatywnie, jeśli obrazy zostały „odrzucone” przed ich usunięciem, zamień 'Rating = "1"' na 'Rating="-1"'

Jeśli chcesz się upewnić, że nie spowoduje to usunięcia niezamierzonych plików, zawsze możesz dodać echo przed rm , który zapisze, które pliki zostaną usunięte bez ich usuwania .

junkyardsparkle
2018-06-08 12:10:21 UTC
view on stackexchange narkive permalink

Jeśli naprawdę chcesz to zrobić z poziomu darktable, możesz spróbować zrobić coś takiego, jak dodanie bardzo unikalnego znacznika do wszystkich obrazów znajdujących się obecnie w bazie darktable, a następnie wykonanie rekurencyjnego (ponownego) importu obrazów z katalogu głównego swoją kolekcję obrazów, a następnie użyj funkcji kolekcji darktable, aby zebrać wszystkie obrazy bez tego tagu, a następnie usuń je po dokładnym przejrzeniu, aby upewnić się, że zebrałeś to, co zamierzone. Następnie usuń znacznik znacznika z pozostałych plików w bazie danych.

To jest czysto teoretyczne, nigdy tego nie próbowałem, a proces może być bolesny w przypadku dużej kolekcji. Zakłada również, że mówisz o plikach RAW, więc wszelkie wcześniej wyeksportowane pliki JPEG można wykluczyć z kroku ponownego importu. Jeśli spróbujesz, upewnij się, że to, co zamierzasz usunąć, jest tym, co faktycznie chcesz usunąć.

remco
2018-06-08 11:02:47 UTC
view on stackexchange narkive permalink

O ile wiem, nie jest to możliwe z poziomu darktable w żaden bezpośredni sposób.

Jeśli zaznaczyłeś wszystkie usunięte obrazy przed ich usunięciem, ponowne załadowanie folderów może pokazać usunięte obrazy z nienaruszonymi znakami, więc możesz je zaznaczyć, a następnie „usunąć” wybrane obrazy. Po usunięciu Darktable pozostawia same pliki xmp, a te zawierają wszelkie znaczniki, które zrobiłeś na obrazach przed usunięciem.

W przeciwnym razie może być konieczne użycie bazy danych Darktable i usunięcie wszystkich plików, których nie ma w bazie danych. To prawdopodobnie wymaga skryptu, który może już istnieć lub nie. Jeśli nie znajdziesz tutaj lepszej odpowiedzi, możesz zapytać na liście mailingowej Darktable
(darktable-user+subscribe@lists.darktable.org).

Janghou
2018-08-08 16:57:27 UTC
view on stackexchange narkive permalink

Z niewielką pomocą terminala lub menedżera plików:

  • zaznacz wszystkie obrazy w podświetlanym stole
  • utwórz katalog temp_dt
  • wybrane obrazy -> przenieś> wybierz temp_dt
  • usuń wszystkie pliki w oryginalnym katalogu za pomocą menedżera plików / terminala
  • przenieś wszystkie pliki z powrotem do oryginalnego katalogu
  • usuń temp_dt


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...