我可以找出一个shapefile是什么时候创建或最后更新的

2021-02-25 14:34

我正在QGIS上处理100多个图层,我正在尝试确定每个图层最后创建或更新的时间。所有层都是shapefile。有没有办法找到创建/更新日期?

解答动态

  • 为此提供bash解决方案。正如其他人在评论中所说,这个方法认为文件系统/OS上的日期可以被信任
    #Clean,以便能够多次重复脚本*_元数据.txtrmsummary.txt#双循环获取shp的basename,然后从此basename#获取所有文件,因为shp的不同文件日期可能不同#按日期排序每个具有相同basename的文件使用'stat'命令,考虑到#%y上次修改时间,*.shp;do tmp=$shp;tmp=${tmp##*/};tmp=${tmp%.shp};对于$tmp.*;do echo$(stat-c%yquot;)quot;quot_meta.txt";;完成;完成;#循环每个文件的创建日期,例如,我的文件_元数据.txt将包含#2018-05-21 09:24:36.000000000+0200 myfile_元cpg2018-05-21 09:24:36.000000000+0200我的文件_元数据库2018-05-21 09:24:36.000000000+0200我的文件_元prj2018-05-21 09:24:36.000000000+0200我的文件_梅塔.希普2018-05-21 09:24:36.000000000+0200我的文件_元shx从这个文件中,取最后一个,最近的并将其附加到summaryfor meta in*_元数据.txt;执行排序$meta

    • tail-n 1>;摘要.txt;完成;

      • 使用ogrinfo。但是,它不知道编辑软件是否在更新.dbf文件中的最后一次更新元数据。GDAL和QGIS确实更新了它。
        ogrinfo测试.shp-al-soINFO:打开`测试.shp'使用驱动程序'ESRI Shapefile'成功。层名称:testMetadata:DBF\u DATE\u LAST\u UPDATE=2020-11-24 另请参阅https://gdal.org/drivers/vector/shapefile.html
        Open打开选项:
        DBF\u DATE\u LAST\u UPDATE=YYYY-MM-DD:在DBFheader中写入的修改日期年-月-日格式。如果未指定,则使用当前日期。

        图层创建选项:
        DBF\u DATE\u LAST\u UPDATE=YYYY-MM-DD:以年-月-日格式写入DBFheader的修改日期。如果未指定,则使用当前日期。注:过去的GDAL版本的行为是写1995-07-26
        过去的版本是指几年前的GDAL版本。

        • End

        免责声明:

        本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。