Desejo especificar um diretório e fazer com que o software encontre todas as fotos no diretório e seus subdiretórios, e se eles contiverem data / hora EXIF, ele definirá o carimbo de data e hora do sistema de arquivos para corresponder ao EXIF.
39
Respostas:
É o inverso de Existe algum software que defina as datas EXIF com base na data de modificação do arquivo? , e tenho certeza de que todos os programas listados serão aplicáveis.
jhead
Destes, para esta tarefa muito simples, jhead é minha sugestão. Por exemplo, o comando
define vários arquivos para que o registro de data e hora do arquivo corresponda a EXIF.
jhead com
find
, para passar por subdiretóriosPara executar a recursão em subdiretórios, você pode combiná-lo com o
find
comando disponível no Linux / Unix / Mac (ou Cygwin for Windows):Ou para encontrar algum de
*.JPG *.JPEG *.jpg *.jpeg ...
vocês também pode tentarVocê também pode usar o find para mostrar apenas todos os arquivos que seriam ... encontrados, sem executar nenhum outro comando (como o jhead):
Outras ferramentas
Outros utilitários como o ExifTool ou o Exiv2 são muito mais capazes, mas ao preço da complexidade. Nunca me lembro de imediato das opções corretas para fazer algo com elas e tenho que examinar a documentação todas as vezes, mas
jhead -ft
é fácil lembrar com o "tempo fixo" mnemônico.ExifTool
Apenas para completar, no entanto, I fez olhada na documentação e com ExifTool , faça o seguinte:
(Remova a opção
-r
se você não quiser recursão e, se fizer isso, também poderá fornecer uma lista de arquivos ou um curinga em vez dedirectoryname
.) E tome cuidado com essas aspas - se você estiver executando isso no Windows, deseja"
em vez de'
.Exiv2
Com Exiv2 :
Lembre-se de que, com letras minúsculas
-t
(ou sem nenhuma-T
), o Exiv2 também renomeia o arquivo para um novo nome com base no carimbo de data / hora, o que pode ser muito confuso. Exiv2 também não faz recursão.fonte
find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +
. Explicações:-name '[0-9][0-9]*'
para evitar renomear novamente os arquivos que já possuem um prefixo de data ('[0-9][0-9]
para levar em consideração anos e meses).-iname '*.jp*g'
pode ser ignorado porquejhead
apenas processa arquivos suportados (somente arquivos JPEG).%f
para manter o nome do arquivo original.Irfanview e jhead farão o que você deseja.
Ambos grátis.
Links para ambos abaixo.
O jhead é direcionado pela linha de comando ou pode ser chamado por outros processos.
A versão do Irfanview pode ser chamada de uma linha de comando ou internamente em um lote ou em um arquivo por arquivo.
O exemplo abaixo para Irfanview mostra como copiar em qualquer direção:
Irfanview
Permite alterações na GUI ou na linha de comando do lote ou por transferência de data / hora do arquivo do EXIF para a especificação do arquivo ou vice-versa (sem outras alterações de arquivo, se desejado).
Fonte: Grátis em www.irfanview.com
Isso é MUITO mais fácil e rápido na prática, depois de apenas alguns usos do que as instruções abaixo fazem aparecer. Por exemplo,
para converter a data / hora de um único arquivo em valores EXIF, é necessário
Shift-J, Alt-F, Enter.
Vendo por que o primeiro número de vezes leva mais tempo.
Para fazer isso em um lote de arquivos que o SOUNDS aprende -
requer: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(ou: T, Ctrl-A, Shift-J, Enter) (oferece menos opções)
MAS, na verdade, é quase totalmente intuitivo depois de um pouco de uso - os menus o guiam inicialmente até a formação do caminho do cérebro.
GUI, por arquivo
GUI, um ou muitos arquivos (via exibição em miniatura)
Na linha de comando - este é um "rodar" sem ação, exceto para copiar a data / hora do EXIF para a data e hora do arquivo. O oposto também pode ser alcançado, se desejado. :
i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)
Para copiar data / hora na direção oposta (
(especifica arquivos para EXIF), use como acima com (0,0,1,0,0,0,0,0)
jhead
fará qualquer coisa que você possa imaginar com arquivos jpeg
Fonte: Grátis em http://www.sentex.net/~mwandel/jhead/
Eu uso um arquivo em lotes como abaixo. Outras opções são possíveis:
Eles dizem: Coisas que o jhead pode modificar em um arquivo jpeg exif
Defina ou ajuste relativo os carimbos de
data / hora exif internos Corrija os desvios de data / hora em grandes lotes de imagens Renomeie os
arquivos de carimbo de data ou data de acordo com o carimbo de data / hora
exif Transferir cabeçalhos exif entre imagens
Substituir miniaturas dentro de cabeçalhos Exif
Editar jpeg comentários (mas não os comentários Exif)
Exclua seções exif ou comentários das imagens jpeg
Crie um novo cabeçalho exif mínimo contendo data e miniatura
_________________________
Nota: agosto de 2016: "Usuário anônimo" sugeriu corretamente que uma conversão sugerida não funcionava como eu disse. Eu adicionei extensivamente à área em questão.
fonte
Apenas mais uma ferramenta EXIF da linha de comando que pode alterar a data da última modificação dos arquivos para coincidir com a hora da foto, com base na metada EXIF no arquivo de imagem JPEG:
Não se preocupe, o argumento de comando
rename
está ok e não faz mal.Só que a ação de renomeação de arquivo foi usada incorretamente para criar apenas o efeito colateral da alteração do carimbo de data e hora.
fonte
Embora eu realmente não recomendo confiar na data / hora do arquivo quando se trata de suas imagens, você pode usar uma ferramenta gratuita chamada EXIF Date Changer para definir em lote as datas do arquivo de todas as suas imagens JPG. A configuração padrão definirá a data de criação e a data da modificação do arquivo para a foto tirada.
A razão pela qual eu não recomendo isso é que a data do arquivo é facilmente atualizada. Se você editar a imagem, a data da modificação será atualizada. Se você copiar a imagem, ela recebe uma nova data.
Uma solução muito melhor é renomear os arquivos para incluir a data / hora no próprio nome do arquivo. Isso ainda permite uma classificação fácil e funciona bem com imagens armazenadas em iPhones / dropbox.
fonte
Confira meu novo software gratuito "Photo Date Organizer": http://photodateorganizer.sourceforge.net/
fonte
O FastStone Image Viewer pode fazer isso (versão 4.9 usada) - basta selecionar os arquivos no painel de miniaturas, clicar com o botão direito do mouse, selecionar "Ferramentas"> "Alterar carimbo de data / hora" - e usar os dados EXIF (com ou sem modificações) ou usar wholy data / hora manual fixa personalizada.
fonte
O Advance Renamer é o melhor software amigável, muito simples.
Arraste e solte todas as fotos em AR (Advance Renamer)
Clique em (canto superior esquerdo) Adicionar método -> Novo nome
Clique em uma das imagens na parte inferior central e você verá um botão ExifTool que mostra todos os metadados, basta clicar em um atributo e você receberá a tag. Nesse caso, é
<ExifTool:DateTimeOriginal>
Copie isso e cole na caixa de texto Novo nome. Você pode adicionar qualquer coisa antes ou depois
IMG_<ExifTool:DateTimeOriginal>
, comoDSC_<ExifTool:DateTimeOriginal>
etc.Clique em Iniciar lote ( canto superior direito) Isso renomeará todos os seus arquivos com a data. Por exemplo, 2017_12_01 19_10_12 É sempre bom ter a data original no nome do arquivo, pois os atributos podem ser perdidos, mas os nomes dos arquivos não.
<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
fonte
Sugeri ao autor do PhotoRenamer, que respondeu ...
fonte
Essa é uma pergunta antiga e parece que existem algumas sugestões que devem funcionar bem, mas a que cheguei para resolver um problema de pedido de arquivo após uma atualização do telefone Android foi essa.
Talvez isso seja útil para alguém.
fonte
O outro programa gratuito é o Google Picasa - você pode alterar facilmente a data e a hora de todas as fotos:
Bom artigo sobre o assunto: como alterar a data de uma foto no Picasa para quando a foto foi tirada
fonte