-
2021-05-10 04:58:38
问题描述
有没有办法改变文件被修改/创建的日期(在Nautilus中或者用ls -l命令显示)?理想情况下,我正在寻找一个命令,可以将一大堆文件的日期/时间戳更早或更晚(例如+8小时或-4天等)更改为一定的时间。
最佳解决方法
您可以使用touch命令更改文件的修改时间:
touch filename
默认情况下,这会将文件的修改时间设置为当前时间,但有多个标志,例如-d标志选择特定日期。因此,例如,要将文件设置为在当前两小时前修改,可以使用以下内容:
touch -d "2 hours ago" filename
如果你想修改相对于其现有修改时间的文件,下面应该做的诀窍:
touch -d "$(date -R -r filename) - 2 hours" filename
如果你想修改大量的文件,你可以使用以下内容:
find DIRECTORY -print | while read filename; do
# do whatever you want with the file
touch -d "$(date -R -r "$filename") - 2 hours" "$filename"
done
您可以将参数更改为find以仅选择您感兴趣的文件。如果您只想更新相对于当前时间的文件修改时间,则可以将其简化为:
find DIRECTORY -exec touch -d "2 hours ago" {} +
这种形式对于文件时间相对版本来说是不可能的,因为它使用shell来形成touch的参数。
就创建时间而言,大多数Linux文件系统不会跟踪此值。有一个与文件关联的ctime,但它跟踪文件元数据上次更改的时间。如果文件从未更改权限,则可能会碰巧创建时间,但这是巧合。明确更改文件修改时间将作为元数据更改进行计数,因此也会更新ctime的副作用。
次佳解决方法
谢谢您的帮助。这对我有效:
在终端中转到date-edit的目录。然后键入:
find -print | while read filename; do
# do whatever you want with the file
touch -t 201203101513 "$filename"
done
在您输入完成后,您将看到”>”,最后一次免除 – > “done”。
注意:您可能需要更改”201203101513″
“201203101513” =是此目录中所有文件的所需日期。
第三种解决方法
最简单的方式 – 访问和修改将是相同的:
touch -a -m -t 201512180130.09 fileName.ext
哪里:
-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
如果你想使用NOW,只需删除-t和时间戳。
验证它们都是一样的:stat fileName.ext
第四种方法
Touch可以单独引用文件的日期,不需要调用date或使用命令替换。以下是touch的信息页面:
`-r FILE' `--reference=FILE'
Use the times of the reference FILE instead of the current time.
If this option is combined with the `--date=TIME' (`-d TIME')
option, the reference FILE's time is the origin for any relative
TIMEs given, but is otherwise ignored. For example, `-r foo -d
'-5 seconds'' specifies a time stamp equal to five seconds before
the corresponding time stamp for `foo'. If FILE is a symbolic
link, the reference timestamp is taken from the target of the
symlink, unless `-h' was also in effect.
例如,为文件的日期添加8个小时(文件名为file,以便在空格等情况下引用):
touch -r "file" -d '+8 hour' "file"
对当前目录中的所有文件使用循环:
for i in *; do touch -r "$i" -d '+8 hour' "$i"; done
我听说使用*并让for选择文件名本身更安全,但使用find -print0 | xargs -0 touch ...应该可以处理大多数疯狂的字符,例如换行符,空格,引号和文件名中的反斜杠。 (PS。首先尽量不要在文件名中使用疯狂的字符)。
例如,要查找thatdir中文件名以s开头并将一天添加到那些文件的修改时间戳的所有文件,请使用:
find thatdir -name "s*" -print0 | xargs -0 -I '{}' touch -r '{}' -d '+1 day' '{}'
第五种方法
这个小脚本至少适用于我
#!/bin/bash
# find specific files
files=$(find . -type f -name '*.JPG')
# use newline as file separator (handle spaces in filenames)
IFS=$'\n'
for f in ${files}
do
# read file modification date using stat as seconds
# adjust date backwards (1 month) using date and print in correct format
# change file time using touch
touch -t $(date -v -1m -r $(stat -f %m "${f}") +%Y%m%d%H%M.%S) "${f}"
done
参考资料
更多相关内容 -
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2020-10-18 14:51:59主要介绍了JS简单实现查看文档创建日期、修改日期和文档大小的方法,结合实例形式分析了JavaScript使用fileCreatedDate属性、fileModifiedDate属性、lastModified属性和fileSize属性相关操作技巧,需要的朋友可以参考... -
MP4媒体创建日期修改器 V1.0.exe
2020-02-16 01:47:14《MP4媒体创建日期修改器 V1.0》,用于将mp4文件属性中的“媒体创建日期”删除或修改为当前系统时间。 使用方法:将本程序拷入想要修改媒体创建日期的mp4文件所在的目录运行(win10不需要管理员权限),按照需求... -
修改文件创建和修改日期
2017-03-01 09:37:09文件(夹)属性里,我们能够看到文件(夹)的创建时间、修改时间和访问时间。有时候,由于各种不同的原因,我们不希望别人看到文件(夹)真实的创建时间或修改时间,至于什么时候要酱紫,我不知道,总之本工具为此而... -
可以批量修改文件夹及文件夹下所有文件的创建日期,修改日期及最后访问日期的工具
2018-04-17 10:47:09一份非常好用的小工具.可以批量修改文件夹及文件夹下所有文件的创建日期,修改日期及最后访问日期. -
PHP中获取文件创建日期、修改日期、访问时间的方法
2020-10-21 04:09:05主要介绍了PHP中获取文件创建日期、修改日期、访问时间的方法,有时候我们需要获取页面生成的时间,防止重复生成。需要的朋友可以参考下 -
图片创建日期修改y
2015-06-21 23:33:58图片创建日期修改 -
文件时间修改工具,创建日期,修改日期。。。
2017-04-12 08:12:07文件时间修改工具,创建日期,修改日期。。。 -
Free File Attribute Changer:更改文件或文件的修改日期,创建日期和访问日期。-开源
2021-05-09 01:22:10应用程序更改一个或多个文件的日期和时间属性。 它允许手动编辑日期和时间或从文件复制日期和时间。 它还可以从多个文件复制日期和时间,并将那些复制的属性应用于指定的相应文件。 -
Windows批量修改文件日期工具
2021-09-18 14:44:10利用C# Winform 编写的批量修改文件的创建日期、修改日期、访问日期 -
图片的三个时间:创建日期/修改日期/拍摄日期
2021-04-22 02:08:50本文介绍,图片文件的三个时间:创建日期/修改日期/拍摄日期,并探索了一下各时间的相互参照修改的批量操作。创建日期:这个文件的创建时间,是你将图片文件复制到这个磁盘时的时间修改日期:最后一次修改这个文件的...本文介绍,图片文件的三个时间:创建日期/修改日期/拍摄日期,并探索了一下各时间的相互参照修改的批量操作。
创建日期:这个文件的创建时间,是你将图片文件复制到这个磁盘时的时间
修改日期:最后一次修改这个文件的时间
拍摄日期:拍摄时由相机写入的时间
生活中我们的图片来源主要有三类:
1.自己通过相机或手机拍摄的,这类图片的拍摄日期是准确的.
2.通过网上下载得到的图片,这类图片一般不是拍摄的原始照片,其拍摄时间可能被抹掉了.这种图片的创建时间是你下载时的时间,修改时间是最后进行处理的时间(早于你下载的时间).
3.自己制作的图片,比如通过画图程序创建后编辑并保存,这类图片的创建时间比修改时间早.
于是会出现下面的情况:
手机上:查看图像 ——操作——详情。里面有图片的详细信息,“创建时间”就是拍照的时间。电脑上:右击图片——属性 里面的“创建时间”是你把PP传到电脑去的时间,“修改时间”是你拍照的时间。
这样就产生了一个需求,当把图片导入到手机或相机时,需要按拍摄时间进行排序,而第2类和第3类的图片没有拍摄时间,导致出现顺序错误。需要批量调整图片的时间,使三个时间呈以下关系:修改时间>=创建时间>=拍摄时间
找了一下相关的软件,现分享出来:
FSViewerDownload 只能将拍摄日期复制到文件修改日期中
ACDSee 可以实现3个时间互相调整,不过需要一些技巧,操作前注意备份,否则图片的时间信息可能会被覆盖。建议的操作为,将拍摄时间为空的图片的拍摄时间写成修改时间,然后将它们的修改时间重新写成拍摄时间,最后将文件的创建时间改成修改时间。
两个软件对于图片中没有相机信息的图片,都无法写入拍摄时间,这一点需要注意。
调整时间后,导入手机中的图片显示顺序就正确了~
打赏
微信扫一扫,打赏作者吧~
Like this:
Like Loading...
相关
-
如何修改文件的修改日期及创建日期?
2022-03-07 13:25:26如何修改文件的修改日期及创建日期?很多人认为文件的时间属性是不能修改的,今天小编就来教大家详细的操作步骤,设置非常的简单,而且可以批量修改。如何修改文件的修改日期及创建日期?电脑中创建某个文件的时间就是创建日期,最后一次修改文件的时间是修改日期,每个文件都有创建日期和修改日期,右击文件的属性可以查看创建和修改日期。最近总有粉丝给我留言求助“我想修改文件的修改日期和创建日期,有没有什么方法?”。
上面的问题的确困扰过不少的人,并且很多人认为文件的时间属性是不能修改的,其实是有方法修改的,并且很容易时间,只是你之前没有找到方法而已,所以今天小编就来教大家详细的操作步骤,设置非常的简单,而且可以批量修改。
使用的软件工具:优速文件批量重命名
软件工具下载:https://download.yososoft.com/YSRename/2.0.4/YSRename.exe
详细的修改步骤如下:
步骤1,打开电脑,然后再下载“优速文件批量重命名”工具并安装打开,选择首页左边的【文件重命名】功能进入内页,再点击左上角【添加文件】按钮,将需要修改时间属性的文件添加到软件中,支持批量修改。
步骤2,在界面的左边进行修改设置,命名方式选择“属性”;然后在下面设置新的创建时间和修改时间,能够精确到秒(案例中我们将两个时间全部设置成:2022年2月20日 12:12:12)。
步骤3,设置完成后就可以点击“开始重命名”红色按钮启动软件,稍等一会,等所有文件修改完成后,软件会弹出“重命名成功”的提示框。
步骤4,打开一个文件的属性可以看到,文件的创建日期和修改日期被全部改成了2022年2月20日 12:12:12,修改成功。
通过上面介绍的四个步骤就能修改文件的创建日期和修改时间了,看完之后是不是很惊讶,感觉很简单呢?这个方法不仅可以快速修改,还能批量修改,如果你有很多的文件修改修改,也能在短短的几十秒钟修改完成。以上就是关于“如何修改文件的修改日期及创建日期?”的详细介绍,如果对你有帮助就给我点个赞吧!
-
如何使用 Python 读取文件和照片的创建日期
2020-12-17 02:42:15本文记录,如何使用 Python 来抓取,图片或者文件的,创建日期,修改日期 1. 读取照片创建日期(._getexif()) from PIL import Image imgPath = 'C:/Users/xx/Desktop/xxxxx.jpg' imge = Image.open(imgPath) exif... -
修改视频文件“ 日期”(不是创建日期、修改日期、访问日期)
2022-01-24 11:04:55修改视频文件“ 日期” 不是创建日期、修改日期、访问日期今天在WINDOWS10系统里打开一个1.mp4的文件,发现在详细信息里的“日期”是2022年1月7日,发现用时间修改软件如FileTime,NewFileTime这类软件,或写代码只能修改创建日期、修改日期、访问日期,不能修改这个“ 日期”。
这个“日期”列只有视频和图片类文件夹的详细信息才会出现,文档类,应用程序类不会出现。(在名称标题列这一行右键会出现“日期”选期。
用Filetimep这类软软件,写代码不能修改。
最后用MediaInfo发现,这个“ 日期”是视频软件编码时生成的编码日期。
最后找到办法用ffmpeg 的copy命令重新编码来修改这个日期,先修改系统时间为需要的时间,然后CMD命令行输入:
ffmpeg -i 1.mp4 -vcodec copy -f mp4 2.mp4
删除原文件,修改文件名就行。
再用MediaInfo检查发现这个2.mp4文件已经没有编码日期,仅有编码程序版本。
最后生成的文件,已经改好“日期”
-
批量修改文件 修改日期、创建日期的工具。(修改)
2009-01-09 12:17:34批量修改文件 修改日期、创建日期的工具。 -
文件创建日期修改器
2015-10-21 18:42:43文件创建日期修改器源代码 可用于修改文件的健日期时间和其它信息。 -
用批处理删除N天前或指定日期时间(前后)创建(或修改)的文件
2020-09-21 12:05:19主要介绍了用批处理删除N天前或指定日期时间(前后)创建(或修改)的文件,需要的朋友可以参考下 -
文件日期修改工具
2018-09-28 08:50:13可修改文件创建日期,修改日期,工具小巧,绿色,免安装 -
文件夹创建日期如何修改.docx
2021-09-27 08:52:53文件夹创建日期如何修改.docx -
修改文件mp4媒体创建日期
2022-02-14 08:26:45修改文件相关日期 下载exiftool.exe 软件,并在相应文件下编辑*.bat文件内容如下: exiftool.exe “-FileCreateDate=2022:02:10 10:55:45” “C:\Users\Administrator\Desktop\ExifTool\VID_20220210_120445.mp4... -
文件创建日期批量修改器
2011-04-13 17:07:25文件创建日期批量修改器,可以快捷批量的修改文件的创建日期,访问日期,修改日期! -
FileTime:获取和设置文件或文件夹的创建、访问和修改时间(仅限 Windows)-matlab开发
2021-06-01 12:58:07这些 MEX 函数获取和设置 Windows 下文件的创建、访问和写入时间。 SetFileTime(文件名,规范,日期向量,类型) FileName:文件或文件夹名称,绝对或相对路径。 接受 Unicode 名称和 UNC 路径。 规格:字符串、... -
创建时间(创建日期)、修改时间(修改日期)设置为自动生成
2021-04-04 09:31:36创建日期的自动生成 创建日期的自动生成比较好说: 字段默认值设置为 CURRENT_TIMESTAMP ,这样在新增的时候,日期会自动生成。 sql语句为: CREATE TABLE T_USER( CREATE_DATE TIMESTAMP DEFAULT CURRENT_... -
修改windows文件创建时间工具
2018-10-24 15:55:53修改windows文件创建时间工具,提供对文件和文件夹的创建时间/修改时间/访问时间进行修改,支持但修改文件夹以及包含文件,支持文件夹遍历.此工具仅用于交流学习. -
Delphi 获取任意文件的创建和修改日期.rar
2019-07-10 03:42:39Delphi 获取任意文件的创建和修改日期,一个比较简单的Delphi实例,只有一个功能,别嫌少。知识是日积月累的,源码下载后,可用Delphi7直接编译,截图如下: -
如何修改文件创建日期?
2022-02-11 09:52:55如何修改文件创建日期?所以今天小编就来为大家详细介绍修改文件创建日期的详细方法,方法简单且易操作,感兴趣的小伙伴快来和我一起学习吧。 -
WinRAR在压缩文件和解压时,默认保留文件、文件夹的创建日期、修改日期、访问日期
2021-04-06 16:36:37一、创建压缩文件时,保留3种日期(设置默认以后,以后每次默认保留) 打开WinRAR程序,或者打开任意一个压缩包文件 1、点击“选项” 2、点击“设置” 1、切换到压缩选项卡 2、创建默认配置 3、切换到时间... -
如何修改文件夹创建日期.docx
2021-09-27 06:46:21如何修改文件夹创建日期.docx