Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EXIFTool JSON到EXIF批处理_Java_Json_Batch File_Exif_Exiftool - Fatal编程技术网

Java EXIFTool JSON到EXIF批处理

Java EXIFTool JSON到EXIF批处理,java,json,batch-file,exif,exiftool,Java,Json,Batch File,Exif,Exiftool,我有>400个JPG文件和一个JSON文件,每个文件都包含图像标记、描述和标题。我找到了这个命令 exiftool -json=picture.json picture.jpg 但我不想对每个文件都运行此操作。 如何对包含JPGs和JSON的文件夹运行此命令,或者是否有其他方法可以批处理这些文件? 每个JSON文件都与JPG对应文件具有相同的名称,因此很容易识别哪些文件彼此匹配。假设您的JPG和JSON具有相同的文件名,但具有不同的extesion(例如picture001.JPG具有关联的p

我有>400个JPG文件和一个JSON文件,每个文件都包含图像标记、描述和标题。我找到了这个命令

exiftool -json=picture.json picture.jpg
但我不想对每个文件都运行此操作。
如何对包含JPGs和JSON的文件夹运行此命令,或者是否有其他方法可以批处理这些文件?

每个JSON文件都与JPG对应文件具有相同的名称,因此很容易识别哪些文件彼此匹配。

假设您的JPG和JSON具有相同的文件名,但具有不同的extesion(例如picture001.JPG具有关联的picture001.JSON等),则批处理for循环可能会起作用。 假设您已经将
cd
-ed放入文件夹中,并且文件没有嵌套在文件夹中,类似的方法应该可以工作

( for jpg in *.jpg; do exiftool -json=${jpg/\.jpg/.json} $jpg; done )
请注意,这没有经过测试。我建议你先复制一份文件夹,并在那里进行测试,以确保不会不可逆转地损坏它们


我还注意到您正在使用java标记。不久前,我不得不用Java处理EXIF数据,我使用了。如果您想使用自己的小java命令行工具,您应该能够使用java的IO类遍历目录和文件,并使用JHeader库修改EXIF数据。

谢谢!我尝试了这个,但是遇到了一个错误,这个文本框中没有足够的空间让我复制粘贴它,但是你没有提到windows。我的解决方案是bash,您可以在unix系统上运行。在Windows上,您需要类似或的东西。请注意,您可以按原样运行脚本,但前面没有exiftool.exe。目前我还不能做DOS/批处理版本,但同样的原则也适用。语法将不同。好的,对不起,我忘了说我在Windows上!谢谢,我会下载cygwin,我相信我以前用过。cygwin不适合我,所以我启动了一个Ubuntu虚拟机,安装了exiftool并运行了您的命令,但它会为每个文件返回这三行:第1行:“imagename.json中没有SourceFile条目”第2行:“导入的json数据库中没有SourceFile‘imagename.jpg’”第3行:(绝对路径:'/media/FlickrPics/imagename.jpg')”听起来路径不是很快。我做了一个快速的虚拟测试:添加了一堆json和jpg文件
ls-l总计0-rw-r--r--1名乔治普洛芬扎员工0 10 8月14日:58 pic001.jpg-rw-r--r--1名乔治普洛芬扎员工0 10 8月14日:58 pic001.json-rw-r--r--1名乔治普洛芬扎员工0 10 8月14日:59 pic002.jpg-rw-r--r--1名乔治普洛芬扎员工0 10 Aug 14:58 pic002.json-rw-r--r--1 georgeprofenza staff 0 10 Aug 14:59 pic003.jpg-rw-r--r--1 georgeprofenza staff 0 10 Aug 14:59 pic003.json
然后运行一个稍微修改过的脚本版本,该脚本只将数据打印到提示符。。。