首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从文件名中提取日期戳并插入到date Taken (Windows)

从文件名中提取日期戳并插入到date Taken (Windows)

答案:

文件名中提取日期戳并插入到date Taken (Windows)是一个常见的需求,可以通过编程来实现。下面是一种可能的解决方案:

  1. 首先,需要使用合适的编程语言来处理文件名和日期。常见的编程语言有Python、Java、C#等,可以根据个人喜好选择。
  2. 对于Windows系统中的文件,可以使用系统提供的API或者第三方库来获取文件的创建日期或修改日期。例如,在Python中可以使用os模块的os.stat()函数获取文件的创建时间或修改时间。
  3. 接下来,需要根据文件名中的日期戳提取出具体的日期信息。这个过程涉及到字符串处理操作,可以使用正则表达式或字符串切割等方法来提取出需要的日期信息。
  4. 将提取到的日期信息转换成合适的日期格式,以便后续操作。根据具体的日期格式,可以使用相应的日期时间处理库进行转换,例如在Python中可以使用datetime模块。
  5. 最后,将提取到的日期信息插入到文件的"date Taken"属性中。在Windows系统中,可以使用COM对象操作文件属性,例如在Python中可以使用pywin32库来实现。

以下是一个示例代码(使用Python和pywin32库):

代码语言:txt
复制
import os
import re
import datetime
import win32com.client

def extract_date_from_filename(filename):
    # 正则表达式匹配日期戳,假设文件名中的日期格式为YYYY-MM-DD
    match = re.search(r'\d{4}-\d{2}-\d{2}', filename)
    if match:
        date_str = match.group()
        # 将字符串日期转换成datetime对象
        date = datetime.datetime.strptime(date_str, '%Y-%m-%d')
        return date
    else:
        return None

def insert_date_taken_property(filename, date):
    shell = win32com.client.Dispatch("Shell.Application")
    folder = shell.Namespace(os.path.dirname(filename))
    file = folder.ParseName(os.path.basename(filename))
    # 获取"date Taken"属性的索引
    date_taken_index = None
    for i in range(300):
        if folder.GetDetailsOf(None, i) == 'Date taken':
            date_taken_index = i
            break
    # 插入日期信息到"date Taken"属性
    if date_taken_index is not None:
        folder.GetDetailsOf(file, date_taken_index)  # 获取当前日期信息
        folder.GetDetailsOf(file, date_taken_index, date.strftime('%Y-%m-%d'))  # 插入新的日期信息

# 示例用法
filename = 'example_2022-01-01.jpg'
date = extract_date_from_filename(filename)
if date:
    insert_date_taken_property(filename, date)
    print('成功插入日期信息到"date Taken"属性')
else:
    print('无法从文件名中提取日期信息')

注意:以上代码仅为示例,实际使用时需根据具体情况进行适当修改和优化。此外,对于不同的文件类型和操作系统,可能会有差异,需要根据实际情况进行相应调整。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动应用分析(MTA):https://cloud.tencent.com/product/mta
  • 腾讯云分布式文件存储(CFS):https://cloud.tencent.com/product/cfs
  • 腾讯云区块链(Tencent Blockchain):https://cloud.tencent.com/product/tbp
  • 腾讯云云游戏(CGP):https://cloud.tencent.com/product/cgp

请注意,上述链接仅供参考,具体的产品选择应根据实际需求和情况来确定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

hive学习笔记之一:基本数据类型

TINYINT 1字节有符号整数,-128127 1Y SMALLINT 2字节有符号整数,-3276832767 1S INT 4字节有符号整数,-21474836482147483647...1 BIGINT 8字节有符号整数, -92233720368547758089223372036854775807 1L FLOAT 4字节单精度浮点数 1.0 DOUBLE 8字节(64位)双精度浮点数...STRING 无上限可变长度字符串 'a', "a" VARCHAR 可变长度字符串 'a', "a" CHAR 固定长度字符串 'a', "a" BINARY 字节数组 - TIMESTAMP 精度纳秒的时间...'2020-03-01 00:00:00' DATE 日期 '2020-01-01' 关于三种字符串类型 STRING,变长,无需最大长度声明,理论上能存储2GB字符; VARCHAR,变长,需要声明最大长度...taken: 0.051 seconds, Fetched: 2 row(s) 将TIMESTAMP字段转为DATE: select to_date(timestamp_field) from t1;

68100
  • Python批量处理Excel数据后,导入SQL Server

    /1/6 # 推算出 excel 天数转短日期1899.12.30开始计算 start = date(1899,12,30) # 将days转换成 timedelta 类型...offset 这里比较难想的就是天数计算起始日期,不过想明白后,其实也好算,excel我们可以直接将日期天数转成短日期,等式已经有了,只有一个未知数x,我们只需列一个一元一次方程即可解出未知数x...我的想法是,首先调用pandas的sort_values函数将所有数据根据日期列进行升序排序,然后,调用drop_duplicates函数指定按SOID列进行去重,指定keep值为last,表示重复数据中保留最后一行数据...inplace=True) return data 2.5 其他需求 “多个Excel数据对应一张数据库的表 ” 可以写一个字典,来存储数据库表和对应Excel数据名称,然后一个个存储对应的数据库表即可...'append') t2 = time.time() # 时间 单位秒 print('数据插入结束时间:{0}'.format(t2)) print('成功插入数据%d条,'

    4.6K30

    hive学习笔记之一:基本数据类型

    、转化、加载,这是一种可以存储、查询和分析存储在Hadoop的大规模数据的机制,hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce...1281271YSMALLINT2字节有符号整数,-32768327671SINT4字节有符号整数,-214748364821474836471BIGINT8字节有符号整数, -9223372036854775808...“a”VARCHAR可变长度字符串‘a’, “a”CHAR固定长度字符串‘a’, “a”BINARY字节数组-TIMESTAMP精度纳秒的时间‘2020-03-01 00:00:00’DATE日期...taken: 0.051 seconds, Fetched: 2 row(s) 将TIMESTAMP字段转为DATE: select to_date(timestamp_field) from t1;...响应: hive> select to_date(timestamp_field) from t1; OK 2020-03-01 2020-10-27 Time taken: 0.063 seconds

    49420

    Kettle构建Hadoop ETL实践(五):数据抽取

    回到“文本文件输入”步骤的“文件”标签页,选中“以前的步骤接受文件名”和“以前的步骤接受字段名”,选中“获取文件名”步骤作为文件名的来源,选中filename字段作为文件名的字段,该字段由“获取文件名...先使用下面的脚本在hive里的rds库建立一个名为cdc_time的时间表,设置初始数据。...为了确定这个截至时间点,需要给时间设定一个上限条件,即这里的current_load字段值。本示例的时间粒度为每天,时间只要保留日期部分即可,因此数据类型选为date。...图5-16 “设置系统日期”转换 在“获取系统信息”步骤里创建一个当前日期的字段cur_date,以及一个前一天的日期pre_date字段,然后将两个字段的数据复制分发到“插入...格式化的前一天日期值传递给“设置变量”步骤,该步骤将pre_date字段值定义为一个变量PRE_DATE,用于将日期拼接到上传至HDFS的文件名

    6.7K31

    【linux学习】基本指令

    路径 绝对路径: 绝对路径是文件系统的根目录(在UNIX/Linux系统是/(路径分隔符),在Windows系统通常是某个盘符如C:\)开始的完整路径,它详尽地指出了文件或目录的位置,不管当前位置在哪里...如果 destination 是一个存在的目录,source 文件会被移动到这个目录保持原文件名。...在计算机和信息技术领域,时间通常以特定的格式表示日期和时间,可以精确秒或毫秒。...这些时间信息可以用于多个目的,包括事件记录、数据同步、日志记录、版本控制等 时间->时间date +%s 时间->时间:date -d@1508749502 Unix时间(英文为Unix...-x: 归档文件中提取文件。 -v: 详细模式(verbose),显示执行过程。 -f: 指定归档文件名,应该紧跟在-f之后。 -t: 显示归档的内容,不解压。

    9910

    Linux学习-基本指令

    磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件 绝对路径访问: 根目录开始目标文件,一直可以被找到 相对路径访问: 当前路径开始目标文件,便捷 为什么通过路径能标识一个文件...文本文件,可执行文件,各种库文件) d:目录文件(存放文件及目录) l:链接文件(指向一个文件的文件,类似于windows的快捷方式) p:管道文件 c:字符文件(字符设备,键盘,显示器)...date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 date -s 01:01:01 //设置具体时间,不会对日期做更改 date -s “01:01.../这样可以设置全部时间 date -s “20080523 01:01:01″ //这样可以设置全部时间 示例: 时间 概念: Unix时间(英文为Unix epoch, Unix time,...POSIX time 或 Unix timestamp)是1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 时间->时间date +%s 时间->时间: date

    95830

    C语言打印程序行号、日期方便调试程序

    一、前言 平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。...ANSIC标准定义了可供C语言使用的预定义宏: __LINE__ : 在源代码插入当前源代码行号 __FILE__ : 在源代码插入当前源代码文件名 __DATE__ : 在源代码插入当前编译日期...__TIME__ : 在源代码插入当前编译时间 其中标识符__LINE__和__FILE__一般用来调试程序,打印信息,方便定位错误。...标识符__DATE__和__TIME__一般可以用来表示固件的版本,方便了解运行的程序是什么时候的版本。 标识符__LINE__是一个整数,其他的文件名称、日期、时间都是字符串。...二、打印示例 printf("编译日期与时间: %s,%s\n", __DATE__,__TIME__); printf("当前所在行号:%d\r\n", __LINE__); printf("当前源文件名

    2.1K20

    关于日期及时间字段的查询

    前言: 在项目开发,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉这类字段的查询。关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法。...FROM_UNIXTIME 将 UNIX 时间转换为时间格式,与UNIX_TIMESTAMP互为反函数。 TO_DAYS() 提取日期返回自公元0年到现在的天数。...WEEK 获取指定日期是一年的第几周。 YEAR 获取年份。 QUARTER 获取日期所在的季度值。...有时候这类需求多种多样,下面我们来学习下关于日期和时间字段的查询写法。 首先,为了使查询更加准确,在插入数据时也要按规范来插入。...比如说年份使用4位数字,日期和月份要在合理范围内等,下面为了测试方便,我们创建一个表,插入部分数据。

    7K40

    Python统计汇总Grafana导出的csv文件Excel

    需求分析 原始文件分析 原始文件是多个csv表格,第一列为时间,每10分钟统计生成一行,其余列为ip地址在该时间段内的访问次数 ?...处理结果分析 根据要求,统计每个ip地址在当天访问次数求和,汇总生成新表格,结果如下,并将所有csv文件按照文件名,分别汇总不同的sheet下 ?...代码逻辑 流程分析 首先遍历指定目录下的.csv文件,提取文件名生成数组 然后使用pandas库读取csv文件,提取日期和ip,然后统计每个ip当天访问次数,生成新的DataFrame 最后使用xlwings...库将pandas处理后的DataFrame数据写入excel文件,指定文件名作为sheet名 遍历指定目录下.csv文件 主要用到了os模块的walk()函数,可以遍历文件夹下所有的文件名。...文件路径 :return: 处理完成后的pandas对象 """ # 读取整个csv文件 csv_data = pd.read_csv(file, ';') # 提取日期

    4K20

    如何复制 OR 删除 200 万个小文件,而且电脑不卡?

    Windows 系统,单个文件夹下根目录文件有超过 200w,如何快速复制另外一个电脑上? ?...问题描述 Windows 系统,其中有个文件夹,此文件夹下面大概有 200 多万个图片文件,请问如何复制另外一个电脑上(移动硬盘)?已尝试系统自带的复制粘贴,卡死了。.../PURGE :: 删除源不再存在的目标文件/目录。 /MIR :: 镜像目录树(等同于/E 和/PURGE)。 /MOV :: 移动文件(复制后删除)。.../MOVE :: 移动文件和目录(复制后删除)。 /A+:[RASHCNET] :: 将给定的属性添加到复制文件。 /A-:[RASHCNET] :: 复制文件删除给定的属性。.../MINLAD:n :: 最小的最后访问日期 - 排除自 n 以来使用的文件(If n < 1900 then n = n days, else n = YYYYMMDD date)。

    2.9K51

    PHP 常用函数大全

    删除数组的第一个元素,返回被删除元素的值 array_unshif 在数组开头插入一个或者多个元素 array_push 向数组最后压入一个或多个元素 array_pop 删除数组最后一个元素...MySQL 查询 mysql_real_escape_string 转义 SQL 语句中使用的字符串的特殊字符,考虑连接的当前字符集 mysql_result 取得结果数据 mysql_select_db...feof 测试文件指针是否到了文件结束的位置 fflush 将缓冲内容输出到文件 fgetc 文件指针读取字符 fgetcsv 文件指针读入一行解析 CSV 字段 fgets 文件指针读取一行...UNIX 时间 gmstrftime 根据区域设置格式化 GMT/UTC 时间/日期 idate 将本地时间日期格式化为整数 localtime 取得本地时间 microtime 返回当前 Unix...时间和微秒数 mktime 取得一个日期的 Unix 时间 strftime 根据区域设置格式化本地时间/日期 strptime 解析由 strftime 生成的日期/时间 strtotime 将任何英文文本的日期时间描述解析为

    3.6K21

    张高兴的 .NET IoT 入门指南:(八)基于 GPS 的 NTP 时间同步服务器

    时间在计算机又是如何定义的呢?通常使用 Unix 时间进行表示,记录的是自公元 1970 年 1 月 1 日 0 时 0 分 0 秒以来的秒数。...串口的名称取决于你的连接方式,在 Linux 串口对应的驱动文件在 /dev 目录下,使用内置串口可能的文件名称为 ttySx,使用 USB 串口可能的文件名称为 ttyUSBx,在 Windows...串口中读取数据时使用的是 SerialPort 类的 DataReceived 事件。...这里使用的是运行命令行指令的方式修改系统的时间,但修改时间的精度只能精确秒。在 Windows 中使用 PowerShell 的 Set-Date 命令,在 Linux 中使用 date 命令。.../GpsNtp 构建 Docker 镜像 在项目的根目录创建 Dockerfile,并将整个项目复制 Linux 开发板: FROM mcr.microsoft.com/dotnet/core/sdk

    3.3K20

    11.8 实现重置文件时间

    前者接收一个文件路径字符串,返回该文件路径文件名;后者接收一个文件路径字符串,返回该文件路径文件名以外的部分,即文件路径。...在main函数,首先定义了两个文件路径字符串szPathA和szPathB。然后,分别调用GetFileName和GetFilePath函数,将它们的返回值保存在指针变量ptr输出到控制台上。...findfirst函数是Windows平台上用于查找文件的函数之一,它属于 C Runtime Library(CRT)的一部分,提供了一种在指定目录搜索文件的机制。...在Windows和许多其他操作系统,这些时间通常以 FILETIME 结构体的形式存储,该结构体表示1601年1月1日午夜开始计算的100纳秒间隔数。...#include #include #include using namespace std; // 修改文件当前创建日期 bool SetLocalFileTime

    23320

    Linux常用命令+Web程序部署

    文件名的地方: 1、白色的是普通文件 2、蓝色的是目录 3、红色的是压缩包文件 4、绿色的是可执行文件 ll / 这里就能看到/目录的内容,/ 也叫作 “根目录” , / 也相当于Windows上的此电脑...(插入模式)才能编辑,按下小写字母 i 就会进入 insert 模式,做下角也会显示INSERT提示,进入插入模式键可以想记事本一样编辑了。...这里用 date 命令再 + 上时间日期的格式化符号,就可以获得自己自定义的时间,这种时间日期格式化的符号在很多编程语言中都是用这种类似的符号体系来表示,而他们的作用是用来是以时间作为后缀,防止文件名重复...,更好的辨认文件 3、借助 date 可以用来转换时间 date +%s (1)、这个表示就是查看当前时间 (2)、也可以用时间转换为可读时间 date -d@时间 14、ps ps(process...开头是 “-” 表示是一个普通文件 权限的可执行,是指这个文件是否可以被操作系统加载运行(当成一个进程来运行),授予了这个权限才能运行,为什么要设置是这个机制,主要还是防止黑客,运行一个程序是可能存在风险的

    61820

    Linux基础操作指令

    原因:任何节点都只有一个父节点,所以我们把/开始定位指定路径,具有唯一性的路径,称之为绝对路径!  ...,因为一样的话我们就无法标识文件的唯一性,就无法利用文件名去查找,那么文件名也就失去了意义(无论是windows,Linux都是这样的!!)       ...2、管道文件支持流水线工作    比如我们想cat文件的20-50行读取出来 12.2 如何读取大文本的中间部分内容 比如我们想要去提取1000-1020行 方法1:我们可以先用head1020 然后把这一部分重定向一个新的文件里...date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 date -s 01:01:01 //设置具体时间,不会对日期做更改 date -s “01:01.../这样可以设置全部时间 date -s “20080523 01:01:01″ //这样可以设置全部时间 3.时间 时间->时间date +%s 时间->时间:date -d@1508749502

    8110
    领券