Moje wczesne zdjęcia (Canon G2) to JPG, ale kiedy dostałem Nikona D90, początkowo zrobiłem zdjęcie w JPG, potem przełączyłem się na RAW + JPG, a teraz chciałbym przejść tylko na RAW.
Na dysku twardym mam dosłownie tysiące zdjęć. Zdjęcia znajdują się w podkatalogach (według daty) w jednym katalogu o nazwie Import.
Mam zamiar zaimportować wszystkie te zdjęcia do Lightroom 3.0, jednak chciałbym usunąć wszystkie pliki JPG, ale tylko tam, gdzie jest już odpowiedni plik RAW (tj. Nie chcę już zachować tych samych wersji JPG i RAW plik).
Jeśli mogę to zrobić łatwo w Lightroomie (po zaimportowaniu wszystkiego, w tym duplikatów plików JPG), byłoby świetnie. Byłoby również OK, gdyby istniał prosty sposób na to przed zaimportowaniem plików (ale mam nadzieję, że nie wymagałoby to odwiedzania każdego katalogu w poszukiwaniu nazw plików z rozszerzeniami JPG i NEF).
Czy ktoś wie, jak to zrobić (w Lightroom lub za pomocą jakiegoś narzędzia / skryptu w Windows)?
Odpowiedzi:
W systemie Windows przejdź do folderu i uruchom to w wierszu polecenia:
Zasadniczo przegląda bieżący folder, przegląda pliki NEF i usuwa plik JPG, jeśli jest obecny. Ignoruje wszelkie błędy, jeśli JPG nie ma.
Jeśli chcesz podfoldery, dołącz
/s
dodir
polecenia.źródło
Oto zmodyfikowana wersja skryptu Tomy's Python . Różnice:
źródło
#!/usr/bin/env python
na początku. W przeciwnym razie miałem dziwne błędy ImageMagick (wydaje się, że mój Mac otwiera pliki .py z ImageMagick).jPg
. Nie działa również, gdy pliki znajdują się na dysku zewnętrznym i marnują katalog, np. W katalogu/home
.Oto skrypt w języku Python, który przenosi
JPG
pliki, gdy nieRAW
istnieje odpowiedni plik. Przydatne w Mac OS X !źródło
Jak rozumiem, miniatura w lightroomie może powiedzieć RAW + JPG, ale JPG nie jest w rzeczywistości przechowywany ani dostępny w jakikolwiek sposób.
Możesz także napisać całkiem prosty skrypt wsadowy w dowolnym języku programowania.
źródło
Podoba mi się skrypt bash dla OS X (autor: T.Toivonen ), ale zauważyłem, że jest kilka problemów.
Nie podobały mi się nazwy moich katalogów, które zawierają spacje. Wymagało to nieco innej obsługi polecenia find.
Oryginalny skrypt działa tylko dla rozszerzeń pisanych małymi literami. Nieznacznie poprawiłem tę część skryptu, aby uwzględnić również rozszerzenia, które są pisane wielkimi literami. Pamiętaj, że akceptuje tylko
DNG+JPG
lubdng+jpg
paruje i zignoruje wszelkie kombinacje, takie jakDNG+jpg
lubDnG+JpG
.W oryginalnym rozwiązaniu zaproponowano tylko jedną
wastedir
lokalizację, natomiast moja poprawka pozwala na utworzenie podkatalogu w każdej gałęzi katalogu podczas podróży. Definiujesz nazwę katalogu przed pętlą.Lubię widzieć, co się dzieje, szczególnie kiedy
mv
lubrm
polecenia są używane;)Przez wzgląd na przestrzeni pokazuję tylko ostatnią część scenariusza, od ustawiania
basedir
,wastedir
i pętli.źródło
Oto rozwiązanie dla
bash
(Linux lub Mac OS X). W systemie Windows możesz zainstalować Cygwin, aby uzyskać kopiębash
.źródło
Oto kolejna
bash
wersja używającafind
(Linux). Podobnie jak w przypadku odpowiedzi Bena Pingilleya , możesz zainstalować Cygwin, aby uzyskać bash na Windowsie.źródło
Oto moje zdanie na ten temat. Wiele dobrych pomysłów pochodzi ze wspomnianych wcześniej skryptów.
Jest to skrypt bash dla OS X . Szuka plików, które istnieją z tą samą podstawową nazwą pliku i
dng+jpg
rozszerzeniami. Jeślijpg
znaleziono a o dokładnie takiej samej nazwie jakdng
, wówczas nazwa pliku jest wyświetlana (-e
), plik jest przenoszony (-m
) lub usuwany (-d
).Przejdzie przez podfoldery, dzięki czemu można go używać do całego katalogu lub tylko jego części.
W przypadku innych nieprzetworzonych rozszerzeń plików po prostu zamień
*.dng
w skrypcie preferowane rozszerzenie.Ostrzeżenie: możesz mieć dwa różne obrazy o tej samej nazwie, ale z innym rozszerzeniem. To nieuniknione straty tego skryptu.
Oto jak korzystać ze skryptu:
Podstawowe użycie będzie działać tak:
Powodowałoby to echo wszystkich nazw
jpg
plików, które spełniają kryteria posiadania obu plikówdng
ijpg
plików o tej samej nazwie.Wynik wyglądałby mniej więcej tak:
Teraz jeśli chcę usunąć pliki Chciałbym tylko przełączyć
-e
na-d
:Lub jeśli chciałbym przenieść pliki do / duplikatów, wykonałbym to
-m
.Teraz będą w nim duplikaty
jpg
plików/Volumes/photo/DNG/2015/duplicates
Oto skrypt: dng-jpg.sh
źródło
Oto
bash
scenariusz dla Mac OS X . To może działać na platformie Linux z pewnymi zmianami.rmtrash
to narzędzie, które przenosi pliki do Kosza, zamiast ich natychmiastowego usuwania. Możesz go pobrać z MacPorts w ten sposób:Jeśli chcesz tego uniknąć, po prostu zamień
rmtrash
w skrypcie narm
, który natychmiast usunieJPG
pliki.źródło
Napisałem następujący skrypt w języku Python . W porównaniu ze skryptem ttaveira ma on dodatkową pracę.
źródło
Pracując w systemie Mac OS X , w poprzednich odpowiedziach brakowało mi sprawdzenia poprawności „tej samej zawartości”. Miałem zduplikowane nazwy dla różnych zdjęć, ponieważ zapomniałem włączyć licznik obrazów w moim aparacie. Oto moja wersja, która sprawdza informacje EXIF pod kątem tego samego czasu przechwytywania:
Musisz biec
zanim będzie można użyć następującego polecenia. Został napisany w celu porównania
JPG
zNEF
plikami z mojego Nikona D90. Dostosuj rozszerzenia plików do swoich potrzeb.bez kontroli poczytalności całość stałaby się bardzo krótką linijką:
źródło