修改文件创建时间
如何修改文件的“创建时间”和“修改时间”(WindowsLinuxmacOS)
如何修改⽂件的“创建时间”和“修改时间”(WindowsLinuxmacOS)作者:gc(at),主页:1. Windows(创建时间,修改时间,访问时间)图形界⾯点击⼀个⽂件右键 “属性” 即可查看⽂件的时间属性,可以看到有 “创建时间”、“修改时间” 和 “访问时间” 三个属性。
创建时间:该⽂件在本载体本地址上创建的时间修改时间:在属性中保存的最后⼀次修改的时间访问时间:在属性中保存的最后⼀次访问的时间“创建时间” 和 “修改时间” ⽐较好理解,但 “访问时间” 似乎有点特殊,查看⽂件属性、打开⽂件查看,甚⾄设置 “只读”、“隐藏” 属性都不会改变 “访问时间”。
只有在对⽂件进⾏编辑后访问时间才会改变。
这也就是我们会发现访问时间与修改时间是⼀样的原因。
修改时间的⼯具:Attribute Changer (免费,推荐!)BulkFileChanger (免费)NewFileTime (免费,UI 略逊)命令⾏修改CMD:#修改当前系统时间date 2021/01/01time 10:59:30#修改时间,注意是连续两个英⽂逗号copy ⽂件名 +,,#修改时间和访问时间,注意是连续两个英⽂句号copy ⽂件名 +..# 注意修改完毕需要将系统时间修改过来(或者等待 NTP 同步)⼩技巧:在⽂件夹上添加 “命令提⽰符” 右键快捷访问菜单reg add "HKEY_CLASSES_ROOT\Folder\shell\CmdPrompt" /v ""/t REG_SZ /d"Command Prompt" /freg add "HKEY_CLASSES_ROOT\Folder\shell\CmdPrompt\command" /v ""/t REG_SZ /d"cmd.exe /k cd %l" /fPowershell(推荐)set t '01/01/2021 01:01:01'# 时间格式:MM/DD/YYYY hh:mm:ssecho $tls 'sysin.txt' | foreach-object {$_.LastWriteTime = $t; $_.CreationTime = $t; $_.LastAccessTime = $t}# 也可以单独设置不同的时间ls 'sysin.txt' | foreach-object {$_.LastWriteTime = '01/01/2021 01:01:01'; $_.CreationTime = '02/02/2021 01:01:01'; $_.LastAccessTime = '03/03/2021 01:01:01'}⼩技巧:在⽂件夹上添加 “PowerShell” 右键快捷访问菜单reg add "HKEY_CLASSES_ROOT\Folder\shell\PowerShellMenu" /v ""/t REG_SZ /d"PowerShell" /freg add "HKEY_CLASSES_ROOT\Folder\shell\PowerShellMenu\command" /v ""/t REG_SZ /d"powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'" /f2. Linux(修改时间,访问时间)注意:Linux(包括传统 Unix)中没有 “创建(creation)” 时间的概念(除⾮使⽤)查看⽂件时间信息(stat 命令)# 创建⼀个测试⽂件$ touch sysin.txt# 使⽤ stat 命令查看⽂件时间信息$ stat sysin.txtFile: sysin.txtSize: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: fd01h/64769d Inode: 405343 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-01-08 13:22:44.792348339 +0800Modify: 2021-01-08 13:22:44.792348339 +0800Change: 2021-01-08 13:22:44.792348339 +0800Birth: -有如下三种时间Access: ATime —— ⽂件的最近访问时间。
如何在Mac上设置文件的创建时间
如何在Mac上设置文件的创建时间在Mac电脑上,文件的创建时间通常是由系统自动记录的,而且很难手动更改。
但是,在某些情况下,我们可能希望修改文件的创建时间,例如在整理文件时,需要将文件按照特定的时间顺序排列。
虽然Mac系统自带的Finder界面并没有提供直接更改文件创建时间的选项,但我们可以通过其他方法来实现。
一、使用终端更改文件创建时间终端是Mac系统的命令行工具,它提供了许多高级功能,包括更改文件创建时间的选项。
以下是通过终端实现文件创建时间修改的步骤:1. 打开终端应用程序:在“应用程序”文件夹中找到“实用工具”文件夹,双击打开其中的“终端”。
2. 切换到要更改创建时间的文件所在的文件夹:在终端窗口中输入“cd ”,注意后面有一个空格,然后将要修改创建时间的文件所在的文件夹拖入终端窗口,按下回车键。
3. 使用touch命令更改文件的创建时间:在终端窗口中输入“touch -t YYYYMMDDHHMM.SS 文件名”,其中“YYYYMMDDHHMM.SS”表示新的创建时间,文件名表示要修改的文件名。
例如,要将文件“example.txt”的创建时间更改为202204151200.00,输入“touch -t 202204151200.00 example.txt”并按下回车键。
4. 检查文件创建时间是否已更改:在终端窗口中输入“ls -l 文件名”,其中文件名为之前要修改的文件名。
终端会显示文件的详细信息,包括修改后的创建时间。
通过上述步骤,我们可以在Mac系统上使用终端来更改文件的创建时间。
但是,这种方法比较繁琐,需要一定的命令行操作经验。
二、使用第三方应用更改文件创建时间除了使用终端,我们还可以借助第三方应用程序来更改文件的创建时间,这些应用程序通常提供了更直观和简便的图形界面。
以下是两个常用的第三方应用程序:1. BetterRename:这是一款功能强大的批量重命名工具,它可以帮助我们对文件进行批量更名和属性修改。
修改pdf文件创建时间的方法
修改pdf文件创建时间的方法在一般情况下,PDF 文件的创建时间(文件的元数据之一)是由文件系统管理的,用户通常不能直接修改。
然而,如果你希望更改PDF 文件的创建时间,你可能需要考虑以下几种方法:1. 使用专业工具:一些专业的PDF 编辑工具可能提供了修改文件元数据的功能。
你可以使用这些工具中的某一个,找到文件属性或元数据编辑选项,并尝试修改创建时间。
请注意,这通常只是修改了元数据而非文件本身。
2. 通过命令行工具:在某些情况下,可以使用一些命令行工具来修改文件的元数据。
例如,使用`touch` 命令(Linux/Unix)或`SetFile` 命令(macOS)可能会改变文件的时间戳。
然而,这可能会影响文件的访问和修改时间,而不仅仅是创建时间。
```bash# Linux/Unixtouch -t YYYYMMDDhhmm.SS filename.pdf# macOSSetFile -d "mm/dd/yyyy HH:MM:SS" filename.pdf```3. 使用脚本或编程语言:使用脚本或编程语言(如Python)编写一个小脚本,调用文件系统或相关库来修改文件的创建时间。
这可能需要深入了解文件系统和编程。
以Python为例,使用`os.utime` 可以修改文件的访问时间和修改时间:```pythonimport osfrom datetime import datetimefilename = 'example.pdf'new_create_time = datetime(2023, 1, 1, 12, 0, 0).timestamp()os.utime(filename, (new_create_time, os.path.getmtime(filename)))```请注意,修改文件的元数据可能会导致文件系统的问题,因此谨慎操作,并在进行修改之前备份文件。
Mac命令行文件修改时间技巧如何修改文件的创建和修改时间
Mac命令行文件修改时间技巧如何修改文件的创建和修改时间在Mac操作系统中,我们经常需要修改文件的创建和修改时间,以满足特定的需求或者调整文件的排序顺序。
虽然可以通过图形界面进行操作,但使用命令行方式可以更为高效和灵活。
本文将介绍一些Mac命令行下的文件修改时间技巧。
1. 修改文件的创建时间在命令行中,可以使用touch命令来修改文件的访问时间和修改时间。
默认情况下,touch命令只会更新文件的访问和修改时间,而不会改变文件的创建时间。
但通过设置标志选项可以实现修改文件的创建时间。
下面是修改文件的创建时间的命令示例:```touch -t YYYYMMDDHHMM.SS 文件路径```其中,YYYY代表年份,MM代表月份,DD代表日期,HH代表小时,MM代表分钟,SS代表秒钟。
通过设置不同的时间值,可以将文件的创建时间修改为特定的时间点。
2. 修改文件的修改时间除了通过touch命令修改文件的修改时间,还可以使用SetFile命令来实现。
SetFile命令是macOS系统自带的工具,可以用于更改文件的属性。
下面是修改文件的修改时间的命令示例:```SetFile -d "MM/DD/YYYY HH:MM:SS" 文件路径```其中,MM代表月份,DD代表日期,YYYY代表年份,HH代表小时,MM代表分钟,SS代表秒钟。
通过设置不同的时间值,可以将文件的修改时间修改为特定的时间点。
3. 批量修改文件的时间如果需要批量修改多个文件的时间,可以结合find命令和xargs命令来实现。
find命令可以查找指定目录下符合特定条件的文件,而xargs命令可以将find命令的输出作为参数传递给其他命令。
下面是批量修改文件的时间的命令示例:```find 目录路径 -name "*.扩展名" -print0 | xargs -0 touch -t YYYYMMDDHHMM.SS```其中,目录路径代表需要修改文件时间的目录路径,扩展名代表需要修改时间的文件的扩展名,YYYYMMDDHHMM.SS代表需要设置的时间。
如何在Windows系统中设置文件的创建时间和修改时间
如何在Windows系统中设置文件的创建时间和修改时间在Windows系统中,文件的创建时间和修改时间是文件属性中的两个重要字段,它们记录了文件的相关信息。
通过设置文件的创建时间和修改时间,可以为文件提供更准确的描述和管理。
本文将介绍如何在Windows系统中设置文件的创建时间和修改时间。
一、使用命令提示符设置文件的创建时间和修改时间在Windows系统中,可以利用命令提示符来设置文件的创建时间和修改时间。
具体操作如下:1. 打开命令提示符点击“开始”按钮,在搜索框中输入“cmd”,然后点击“命令提示符”或“cmd.exe”以打开命令提示符窗口。
2. 切换到文件所在目录使用命令提示符的“cd”命令,切换到包含目标文件的目录。
例如,输入“cd C:\Documents”切换到“C:\Documents”目录。
3. 设置文件的创建时间使用命令提示符的“copy”命令,设置文件的创建时间。
具体命令为:“copy /b 原文件名+,, 原文件名”(注意空格的位置)。
例如,输入“copy /b test.txt+,, test.txt”可将“test.txt”的创建时间设置为当前时间。
4. 设置文件的修改时间使用命令提示符的“copy”命令,设置文件的修改时间。
具体命令与设置创建时间类似,只需将“/b”改为“/a”。
例如,输入“copy /a test.txt+,, test.txt”可将“test.txt”的修改时间设置为当前时间。
二、使用第三方软件设置文件的创建时间和修改时间除了命令提示符,还可以借助第三方软件来设置文件的创建时间和修改时间。
以下介绍两款常用的软件:1. BulkFileChangerBulkFileChanger是一款免费的文件属性编辑工具,可以批量修改文件的创建时间和修改时间。
具体操作如下:a. 下载并安装BulkFileChanger软件。
b. 启动BulkFileChanger,点击“添加文件”按钮,选择需要修改的文件。
更改文件属性
引言概述:在计算机操作系统中,文件属性是描述文件特性的一组元数据,如文件的创建时间、文件大小、文件类型等。
更改文件属性是指对文件的一些特性进行修改或调整,以满足特定的需求。
本文将详细阐述更改文件属性的方法和技巧。
正文内容:一、更改文件的创建时间1.使用命令行工具修改文件创建时间;2.通过脚本修改文件的创建时间;3.使用第三方工具修改文件的创建时间;4.使用编程语言修改文件的创建时间;5.防止修改文件的创建时间被检测到的技巧。
二、更改文件的大小1.使用命令行工具修改文件的大小;2.通过修改文件的内容来改变文件的大小;3.使用第三方工具修改文件的大小;4.使用编程语言修改文件的大小;5.恢复修改文件大小前的备份文件。
三、更改文件的类型1.修改文件的扩展名来改变文件的类型;2.使用第三方工具修改文件的类型;3.使用编程语言修改文件的类型;4.修改文件的魔数来改变文件的类型;5.注意文件类型的修改可能导致文件不可用的风险与问题。
四、更改文件的权限1.使用命令行工具修改文件的权限;2.通过脚本修改文件的权限;3.使用第三方工具修改文件的权限;4.使用编程语言修改文件的权限;5.理解和遵守文件权限的原则和规则。
五、更改文件的所有者1.使用命令行工具修改文件的所有者;2.通过脚本修改文件的所有者;3.使用第三方工具修改文件的所有者;4.使用编程语言修改文件的所有者;5.理解和遵守文件所有权的原则和规则。
总结:本文详细介绍了更改文件属性的方法和技巧。
通过修改文件的创建时间、文件大小、文件类型、文件权限和文件所有者,我们可以根据需要调整文件的特性以满足特定的需求。
需要注意的是,在更改文件属性时应谨慎操作,并遵循相应的原则和规则,以确保文件的安全和稳定性。
希望本文能对读者有所帮助,并能在实践中灵活运用。
利用Windows CMD命令批量修改文件属性的技巧
利用Windows CMD命令批量修改文件属性的技巧在日常使用电脑的过程中,我们经常需要对文件进行管理和操作。
有时候,我们可能需要批量修改文件的属性,例如修改文件的创建日期、修改文件的隐藏属性等。
这时候,使用Windows CMD命令就能够帮助我们轻松实现这些操作。
本文将介绍一些利用Windows CMD命令批量修改文件属性的技巧。
一、修改文件的创建日期有时候,我们可能需要将一批文件的创建日期修改为相同的日期。
这时候,可以使用Windows CMD命令中的“for”循环结构来实现。
具体操作步骤如下:1. 打开CMD命令行窗口,进入需要修改文件属性的文件夹目录。
2. 输入以下命令:```for %f in (*) do copy /b %f+,,```这个命令会将每个文件的内容与空文件合并,从而修改文件的最后修改日期为当前日期。
二、修改文件的隐藏属性有时候,我们可能需要将一批文件的隐藏属性设置为隐藏或取消隐藏。
这时候,可以使用Windows CMD命令中的“attrib”命令来实现。
具体操作步骤如下:1. 打开CMD命令行窗口,进入需要修改文件属性的文件夹目录。
2. 输入以下命令:attrib +h *.txt```这个命令会将当前目录下所有的txt文件的隐藏属性设置为隐藏。
三、批量修改文件的扩展名有时候,我们可能需要将一批文件的扩展名进行修改,例如将.jpg文件修改为.png文件。
这时候,可以使用Windows CMD命令中的“ren”命令来实现。
具体操作步骤如下:1. 打开CMD命令行窗口,进入需要修改文件属性的文件夹目录。
2. 输入以下命令:```ren *.jpg *.png```这个命令会将当前目录下所有的jpg文件的扩展名修改为png。
四、修改文件的只读属性有时候,我们可能需要将一批文件的只读属性设置或取消。
这时候,可以使用Windows CMD命令中的“attrib”命令来实现。
具体操作步骤如下:1. 打开CMD命令行窗口,进入需要修改文件属性的文件夹目录。
文件创建时间集体修改
文件创建时间集体修改全文共四篇示例,供读者参考第一篇示例:文件创建时间集体修改是指将一组文件的创建时间进行统一修改的操作。
通常情况下,文件的创建时间是指文件在操作系统中的建立时间,这个时间记录了文件被创建的具体时间点。
在某些情况下,我们可能希望将一组文件的创建时间进行统一修改,可能是因为需要对这些文件进行时间排序,或者是为了统一管理这些文件。
所以,这就需要我们进行文件创建时间集体修改的操作。
文件创建时间集体修改可以通过多种方式来实现,比如使用操作系统提供的命令行工具,或者使用专门的文件管理软件。
在Windows 操作系统中,我们可以使用命令行工具`powershell`来进行文件创建时间的修改操作。
在Linux操作系统中,我们可以使用`touch`命令来修改文件的创建时间。
在进行文件创建时间集体修改的操作时,需要注意一些事项。
修改文件的创建时间可能会影响到文件的相关性,所以在进行操作前需要对文件进行备份以防万一。
需要明确需要修改的文件范围,避免对不需要修改的文件进行误操作。
修改完文件的创建时间后,需要重新检查文件的正确性,确保修改操作没有引发其他问题。
文件创建时间集体修改是一种方便的操作,可以让我们对一组文件进行时间统一管理。
通过选择适合的工具和方法,我们可以轻松地实现文件创建时间的批量修改,提高文件管理的效率和便利性。
希望本文对大家对文件创建时间集体修改有所帮助。
第二篇示例:文件创建时间集体修改是指通过特定的方法来批量修改多个文件的创建时间。
在日常工作中,我们经常会遇到需要修改一组文件的创建时间的情况,例如需要将一组文件按照特定的顺序排列,或者需要将一组文件的创建时间调整到统一的时间点上。
为了提高工作效率,我们可以利用一些工具来进行文件创建时间的集体修改。
下面将介绍一些常用的方法和工具来实现这一目的。
一、使用命令行工具批量修改文件创建时间在Windows系统中,我们可以使用命令行工具来批量修改文件的创建时间。
更改文件创建时间的小程序
更改文件创建时间的小程序在现代的信息化社会中,电脑和互联网的使用已经成为人们日常生活中不可或缺的一部分。
人们需要处理大量的电子文件,包括文档、照片、音频和视频等等。
对于这些文件,有时候我们希望能够灵活地更改它们的创建时间。
这可能是为了归档文件,或者调整文件的排序顺序,或者追溯文件的历史记录等等。
而今天,我将介绍一个方便实用的小程序,它可以帮助用户轻松地更改文件的创建时间。
这个小程序的功能非常简单,它能够修改文件的创建时间和修改时间。
通过这个小程序,用户可以自由地选择文件并更改它们的创建时间。
下面是详细的操作步骤:1. 首先,用户需要下载并安装这个小程序。
它适用于各种操作系统,包括Windows、Mac和Linux。
2. 安装完成后,用户可以打开这个小程序并选择要修改创建时间的文件。
用户可以选择单个文件或者多个文件。
3. 点击“选择文件”按钮,小程序将弹出一个文件浏览器。
用户可以在文件浏览器中浏览文件系统并选择需要修改创建时间的文件。
4. 选择文件后,用户需要点击“设置创建时间”按钮。
小程序将显示一个日期选择器和一个时间选择器。
用户可以通过这些选择器设置自定义的创建时间。
5. 设置完毕后,用户需要点击“确认”按钮以保存修改。
小程序会将新的创建时间应用到所选文件上。
通过这个小程序,用户可以轻松地更改文件的创建时间。
无论是想要调整文件的排序顺序,还是追溯文件的历史记录,都可以通过这个小程序完成。
然而,需要注意的是,修改文件的创建时间可能会导致一些问题。
例如,一些应用程序可能会依赖文件的创建时间来进行识别和排序。
因此,在更改文件的创建时间之前,用户应该充分了解所操作文件的用途和依赖关系。
在不确定的情况下,最好备份原始文件以防止意外发生。
总之,更改文件创建时间的小程序为用户提供了一种简单、方便的方法来管理和调整文件的属性。
通过这个小程序,用户可以轻松地修改文件的创建时间,以满足个人需求。
然而,在使用这个小程序时,用户应该谨慎操作,以免误操作导致不可逆的后果。
文件创建时间、修改时间、访问时间的定义
文件创建时间、修改时间、访问时间的定义
创建时间(生成新副本的时间):文件在这个虚拟分区首次被编录的时间,文件被创建或复制到另一个分区的时候会改变这个时间,但剪切不会改变这个时间。
这个时间的改变通常意味着文件的副本变多了;
修改时间(修剪文件尺寸的时间):文件的尺寸发生变化的时间,采用输出流写入数据必然会有文件尺寸清零再重写的过程,所以输出流保存文件必然修改文件的修改时间,而文件内存映射则不一定会改变文件的尺寸,也就不一定会改变这个时间。
这个时间的改变通常意味着文件长度的数值发生过至少一次变化;
访问时间(文件数据被复制的时间):文件被复制的时间,不论复制到同一个虚拟分区还是另一个虚拟分区,都会改变访问时间,但剪切到同一虚拟分区操作则不会改变访问时间,剪切到另一虚拟分区等同于复制与删除,也会改变访问时间。
这个时间的改变通常意味着文件的转移过程中伴随有数据复制的操作;
输入流、不改变文件尺寸的文件内存映射读写操作都不会改变文件时间记录。
文件内存映射生效时以及输出流未关闭时,这些时间会暂时不稳定,有时会变得不可获取,具体什么条件下这些时间会不可获取目前还不清楚。
如何在Mac系统中设置文件的创建时间和修改时间
如何在Mac系统中设置文件的创建时间和修改时间在Mac系统中,文件的创建时间和修改时间可以为用户提供重要的信息和管理文件的便利。
本文将介绍在Mac系统中如何设置文件的创建时间和修改时间。
一、修改文件的创建时间要修改文件的创建时间,我们可以借助终端来完成。
下面是具体步骤:1. 打开“终端”应用程序,在“应用程序”文件夹中可以找到。
2. 在终端中输入以下命令来进入文件所在目录,例如,如果文件在桌面上,可以输入以下命令:cd ~/Desktop3. 输入以下命令来修改文件的创建时间,其中,[YYYY]表示年份,[MM]表示月份,[DD]表示日期,[HH]表示小时,[MM]表示分钟: touch -t [YYYY][MM][DD][HH][MM] [文件名]例如,要将文件“test.txt”的创建时间设置为2022年1月1日10点30分,可以输入以下命令:touch -t 202201011030 test.txt4. 按下回车键执行命令,文件的创建时间将被修改为指定的时间。
二、修改文件的修改时间类似地,我们可以使用终端来修改文件的修改时间。
以下是具体步骤:1. 打开终端应用程序。
2. 输入以下命令来进入文件所在目录。
cd ~/Desktop3. 输入以下命令来修改文件的修改时间。
touch -mt [YYYY][MM][DD][HH][MM] [文件名]例如,要将文件“test.txt”的修改时间设置为2022年1月1日10点30分,可以输入以下命令:touch -mt 202201011030 test.txt4. 按下回车键执行命令,文件的修改时间将被修改为指定的时间。
三、注意事项1. 修改文件的创建时间和修改时间需要使用终端应用程序,确保您在操作过程中提供确切的命令和文件路径。
2. 在输入日期和时间时,请使用24小时制,并确保提供的日期和时间是合法的。
3. 修改文件的创建时间和修改时间可能会影响某些应用程序的正常运行,请在进行此操作之前备份重要的文件。
windows应用场景下批量修改文件创建日期的批处理脚本
windows应用场景下批量修改文件创建日期的批处理脚本在Windows应用场景下,批量修改文件创建日期是一项常见的需求。
通过批处理脚本可以方便地实现这一功能。
本文将介绍如何使用批处理脚本来批量修改文件的创建日期。
1. 批处理脚本简介批处理脚本是一种可以在Windows中执行的简单脚本语言。
通过编写批处理脚本,可以执行一系列的命令和操作,以实现一些自动化的任务。
在本文中,我们将使用批处理脚本来修改文件的创建日期。
2. 创建批处理脚本首先,我们需要创建一个新的文本文件,将其后缀改为`.bat`,例如`modify_date.bat`。
然后,将下面的代码复制粘贴到新建的批处理脚本中:```@echo offsetlocal enabledelayedexpansionset target_path=/path/to/filesset new_date=20210101for /R "%target_path%" %%G in (*) do (echo %%Gecho !new_date!|copy /B %%G /y+,, >nul)endlocal```请将上述代码中的`/path/to/files`替换为你要修改的文件所在的路径,将`20210101`替换为你要设置的新的创建日期。
3. 修改批处理脚本中的参数在代码中,我们使用了两个参数`target_path`和`new_date`。
`target_path`表示文件所在的路径,而`new_date`表示要设置的新的创建日期。
你可以根据实际情况修改这两个参数的值。
4. 执行批处理脚本将批处理脚本保存后,双击运行即可开始修改文件的创建日期。
脚本会递归遍历指定路径下的所有文件,并将它们的创建日期修改为设定的新日期。
5. 注意事项需要注意的是,批处理脚本会直接修改文件的创建日期,而无法恢复到原始的创建日期。
在执行脚本之前,请确保你已经备份了相关文件,以免出现不可逆的错误。
python两种方法修改文件的创建时间、修改时间、访问时间
python两种⽅法修改⽂件的创建时间、修改时间、访问时间突如其来想知道⼀下 python 如何修改⽂件的属性(创建、修改、访问时间),于是就去⽹上搜集了可⾏⽅案,也就有了这篇博客⽅案⼀from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandlefrom win32file import GENERIC_READ, GENERIC_WRITE, OPEN_EXISTINGfrom pywintypes import Time # 可以忽视这个 Time 报错(运⾏程序还是没问题的)import timedef modifyFileTime(filePath, createTime, modifyTime, accessTime, offset):"""⽤来修改任意⽂件的相关时间属性,时间格式:YYYY-MM-DD HH:MM:SS 例如:2019-02-02 00:01:02:param filePath: ⽂件路径名:param createTime: 创建时间:param modifyTime: 修改时间:param accessTime: 访问时间:param offset: 时间偏移的秒数,tuple格式,顺序和参数时间对应"""try:format = "%Y-%m-%d %H:%M:%S" # 时间格式cTime_t = timeOffsetAndStruct(createTime, format, offset[0])mTime_t = timeOffsetAndStruct(modifyTime, format, offset[1])aTime_t = timeOffsetAndStruct(accessTime, format, offset[2])fh = CreateFile(filePath, GENERIC_READ | GENERIC_WRITE, 0, None, OPEN_EXISTING, 0, 0)createTimes, accessTimes, modifyTimes = GetFileTime(fh)createTimes = Time(time.mktime(cTime_t))accessTimes = Time(time.mktime(aTime_t))modifyTimes = Time(time.mktime(mTime_t))SetFileTime(fh, createTimes, accessTimes, modifyTimes)CloseHandle(fh)return 0except:return 1def timeOffsetAndStruct(times, format, offset):return time.localtime(time.mktime(time.strptime(times, format)) + offset)if __name__ == '__main__':# 需要⾃⼰配置cTime = "2019-12-13 21:51:02" # 创建时间mTime = "2019-02-02 00:01:03" # 修改时间aTime = "2019-02-02 00:01:04" # 访问时间fName = r"E:\test_pro\fileOperate\test.xlsx" # ⽂件路径,⽂件存在才能成功(可以写绝对路径,也可以写相对路径)offset = (0, 1, 2) # 偏移的秒数(不知道⼲啥的)# 调⽤函数修改⽂件创建时间,并判断是否修改成功r = modifyFileTime(fName, cTime, mTime, aTime, offset)if r == 0:print('修改完成')elif r == 1:print('修改失败')⽅案⼆(⽆法修改⽂件创建时间)import osfile_path = "pip.txt"print(os.stat(file_path))# os.stat_result(# st_mode=33206,# st_ino=2251799813766228,# st_dev=3050226722,# st_nlink=1,# st_uid=0,# st_gid=0,# st_size=851,# st_atime=1576241919,# st_mtime=1574385498,# st_ctime=1576241919,# )# 只能修改访问时间与修改时间(暂不知道怎么修改创建时间)os.utime(file_path, (1576335480, 1576335480))print(os.stat(file_path))# os.stat_result(# st_mode=33206,# st_ino=2251799813766228,# st_dev=3050226722,# st_nlink=1,# st_uid=0,# st_gid=0,# st_size=851,# st_atime=1576335480,# st_mtime=1576335480,# st_ctime=1576241919,# )以上就是python 两种⽅法修改⽂件的创建时间、修改时间、访问时间的详细内容,更多关于python 修改⽂件的资料请关注其它相关⽂章!。
如何在Windows上设置文件的创建时间
如何在Windows上设置文件的创建时间在计算机使用过程中,我们经常需要对文件进行管理和整理。
文件的创建时间是文件管理的重要信息之一,能够帮助我们更好地进行文件分类和归档。
但有时候我们可能希望自行设置文件的创建时间,以满足个人或工作需求。
本文将介绍如何在Windows上设置文件的创建时间。
一、使用命令提示符设置文件的创建时间在Windows系统中,我们可以通过命令提示符(CMD)来设置文件的创建时间。
具体操作如下:1. 打开命令提示符。
在开始菜单中搜索“命令提示符”,点击打开。
2. 进入文件所在的目录。
使用命令`cd`加上文件所在的路径,例如`cd D:\Documents`。
3. 设置文件的创建时间。
使用命令`copy /b filename.ext +,,`,其中“filename.ext”为文件名和扩展名,例如`copy /b test.docx +,,`。
4. 刷新文件资源管理器。
按下键盘上的“F5”键,或者在文件资源管理器中点击“刷新”按钮,即可看到文件的创建时间已被更改为当前时间。
通过以上步骤,我们就可以简单地使用命令提示符来设置文件的创建时间了。
二、使用第三方工具设置文件的创建时间除了使用命令提示符,我们还可以借助一些第三方工具来设置文件的创建时间。
以下是两款常用的工具:1. BulkFileChangerBulkFileChanger是一款免费的文件时间修改工具,可以批量修改文件的创建时间、修改时间和访问时间。
具体操作如下:- 下载并安装BulkFileChanger工具。
- 打开工具,点击“Add Files”按钮,选择要修改的文件。
- 在弹出的窗口中,选择“Change Time/Attributes”选项卡,然后选择“Modify/Create”选项。
- 在“File Date”栏中,输入你想要设置的创建时间,然后点击“OK”按钮保存更改。
使用BulkFileChanger工具,可以方便地对多个文件进行创建时间的设置。
如何在Mac上设置文件的日期和时间属性
如何在Mac上设置文件的日期和时间属性在Mac上设置文件的日期和时间属性是一项常见的任务,它可以帮助我们更好地组织和管理文件。
本文将介绍如何在Mac系统中设置文件的日期和时间属性,并提供详细的操作步骤和注意事项。
一、修改文件的创建日期和时间如果我们需要将文件的创建日期和时间修改为指定的数值,可以按照以下步骤进行操作:1. 打开“终端”应用程序,它位于“应用程序”文件夹中的“实用工具”文件夹内。
2. 在终端中输入以下命令,并按下回车键:```shellSetFile -d "YYYY-MM-DD HH:MM:SS" /path/to/file```其中,YYYY-MM-DD表示年月日,HH:MM:SS表示时分秒,/path/to/file表示文件的路径和名称。
举例来说,如果要将文件的创建日期和时间修改为2022年1月1日上午10点30分30秒,可以输入以下命令:```shellSetFile -d "2022-01-01 10:30:30"/Users/username/Documents/example.txt```请根据实际需要修改路径和文件名。
3. 执行命令后,文件的创建日期和时间将被修改为指定值。
二、修改文件的修改日期和时间如果我们需要将文件的修改日期和时间修改为特定数值,可以按照以下步骤进行操作:1. 在终端中输入以下命令,并按下回车键:```shellSetFile -m "YYYY-MM-DD HH:MM:SS" /path/to/file```其中,YYYY-MM-DD表示年月日,HH:MM:SS表示时分秒,/path/to/file表示文件的路径和名称。
举例来说,如果要将文件的修改日期和时间修改为2022年1月1日上午10点30分30秒,可以输入以下命令:```shellSetFile -m "2022-01-01 10:30:30"/Users/username/Documents/example.txt```请根据实际需要修改路径和文件名。
如何在Windows系统中设置文件时间戳
如何在Windows系统中设置文件时间戳为了准确满足标题描述的内容需求,在文章中我将使用技术文档的格式来介绍如何在Windows系统中设置文件时间戳。
以下是正文内容:Windows系统中设置文件时间戳文件时间戳是指文件的创建时间、修改时间和访问时间。
在Windows系统中,我们可以使用一些简单的方法来设置文件的时间戳。
这对于文件管理、版本控制和数据备份等任务非常重要。
一、设置文件的创建时间要设置文件的创建时间,在Windows系统中我们可以使用powershell命令来完成。
首先打开命令提示符界面,输入以下命令:```powershell(Get-Item -Path "文件路径").CreationTime = "新的创建时间"```其中,“文件路径”是要设置的文件的路径,你需要将其替换成你的文件路径;“新的创建时间”是你想要设置的新的创建时间,格式为YYYY-MM-DD HH:MM:SS。
执行命令后,文件的创建时间将被更新为你指定的时间。
二、设置文件的修改时间要设置文件的修改时间,我们可以使用类似的powershell命令。
在命令提示符界面输入以下命令:```powershell(Get-Item -Path "文件路径").LastWriteTime = "新的修改时间"```同样地,你需要将“文件路径”替换为你的文件路径,将“新的修改时间”替换为你想要设置的新的修改时间。
执行命令后,文件的修改时间将被更新为你指定的时间。
三、设置文件的访问时间设置文件的访问时间同样可以通过powershell命令来完成。
在命令提示符界面输入以下命令:```powershell(Get-Item -Path "文件路径").LastAccessTime = "新的访问时间"```同样地,你需要将“文件路径”替换为你的文件路径,将“新的访问时间”替换为你想要设置的新的访问时间。
Windows和Linux修改文件时间(创建、最后修改、最后访问时间)
Windows和Linux修改⽂件时间(创建、最后修改、最后访问时间)简名全名中⽂作⽤atime Access Time访问时间最后⼀次访问⽂件(读取或执⾏)的时间ctime Change Time变化时间最后⼀次改变⽂件(属性或权限)或者⽬录(属性或权限)的时间mtime Modify Time修改时间最后⼀次修改⽂件(内容)或者⽬录(内容)的时间Windows#先创建⽂件new-item test.txtPS C:\Users\So\Desktop> new-item test.txt⽬录: C:\Users\So\DesktopMode LastWriteTime Length Name---- ------------- ------ -----a---- 2021/1/16 18:28 0 test.txt#powershell显⽰⽂件的创建、最后修改、最后访问时间属性PS C:\Users\So\Desktop> (ls test.txt).CreationTimeUtc2021年1⽉16⽇ 10:28:45PS C:\Users\So\Desktop> (ls test.txt).LastWriteTimeUtc2021年1⽉16⽇ 10:28:45PS C:\Users\So\Desktop> (ls test.txt).LastAccessTimeUtc2021年1⽉16⽇ 10:28:45#powershell设置⽂件的创建、最后修改、最后访问时间属性PS C:\Users\So\Desktop> (ls test.txt).LastAccessTimeUtc="2019-12-31 22:33:44"PS C:\Users\So\Desktop> (ls test.txt).LastAccessTimeUtc2019年12⽉31⽇ 22:33:44PS C:\Users\So\Desktop> (ls test.txt).LastWriteTimeUtc="2019-12-31 22:33:44"PS C:\Users\So\Desktop> (ls test.txt).LastWriteTimeUtc2019年12⽉31⽇ 22:33:44PS C:\Users\So\Desktop> (ls test.txt).LastCreatTimeUtc="2019-12-31 22:33:44"PS C:\Users\So\Desktop> (ls test.txt).LastCreatTimeUtc2019年12⽉31⽇ 22:33:44Linux#如何查看atime、ctime、mtimestat filename#什么命令会修改atime、ctime、mtime命令atime mtime ctimemv N N Ycp Y N Nchmod N N Ychown N N Ytouch Y Y Y>、>>Y Y Yvim、vi(不修改)Y N Nvim、vi(修改)Y Y Y ./test.sh Y N N。
文件创建时间集体修改
文件创建时间集体修改全文共四篇示例,供读者参考第一篇示例:文件创建时间是指文件在计算机系统中被创建的时间。
在日常生活中,我们常常需要查看文件的创建时间来了解文件的产生和修改历史。
有时候我们可能需要批量修改文件的创建时间,比如在整理文件时统一文件的创建时间,或者需要将文件的创建时间修改为特定日期等等。
那么,如何批量修改文件的创建时间呢?一种常见的方法是通过命令行进行操作。
在Windows系统中,我们可以使用命令行工具来批量修改文件的创建时间。
我们需要打开命令行窗口,然后通过命令进入到需要修改创建时间的文件夹目录。
接着,我们可以使用命令“dir”来列出当前文件夹中的所有文件,并查看它们的创建时间。
然后,我们可以使用命令“dir /T:C”来显示文件的创建时间。
接下来,我们可以使用命令“copy /b file1+file2 newfile”来复制文件,其中“file1”和“file2”是要合并的文件名,而“newfile”是合并后的新文件名。
通过这种方式,我们可以在批处理文件操作时修改文件的创建时间。
在Mac OS系统中,我们可以使用“touch”命令来修改文件的创建时间。
我们需要打开终端,并通过cd命令进入到需要修改文件创建时间的目录。
然后,我们可以使用命令“touch -tYYYYMMDDhhmm filename”来修改文件的创建时间,其中“YYYYMMDDhhmm”是要修改的日期和时间,而“filename”是要修改的文件名。
通过这种方式,我们可以快速修改文件的创建时间。
除了通过命令行工具来修改文件的创建时间,我们也可以使用第三方工具来批量修改文件的创建时间。
有一些专门的文件管理工具可以帮助我们快速修改文件的创建时间,比如BulkFileChanger、FileMenu Tools等等。
这些工具提供了简单易用的用户界面,可以帮助我们一次性修改多个文件的创建时间,提高工作效率。
批量修改文件的创建时间是一项常见的操作,我们可以通过命令行工具或者第三方软件来实现。
cmd命令实现修改文件创建时间
cmd命令实现修改⽂件创建时间
在⽂件夹的右键菜单添加“dos在这⾥”
要在⽂件夹的右键菜单中添加“命令提⽰符”选项。
在注册表HKEY_CLASSES_ROOT\Directory\shell分⽀下新建⼀
项“CommandPrompt”,修改右侧窗格中的“默认”键值为“dos在这⾥”,并在该项下级再建⼀个新项“Command”,将右侧窗格中“默认”键值设为“cmd.exe /k cd %1”。
现在我们就可以不需要输⼊长长的CD命令就切换到指定的⽬录了。
复制代码代码如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\CmdPrompt]
@=”进⼊DOS”
[HKEY_CLASSES_ROOT\Folder\shell\CmdPrompt\command]
@=”cmd.exe /k cd %l”
具体操作我就不说了懒!
复制代码代码如下:
copy *.* +..
在你需要进⾏创建时间修改的⽂件下右键:在这⾥打开命令窗⼝,输⼊命令然后呢⽂件家⾥⾯的所以
⽂件的创建时间都会被修改成系统的时间当然你⾃⼰也可以改变系统时间这样就可以把创建时间改到你所
需要的范围了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在可能要做另外一个系统了,该系统也要对数据库进行操作。如果以前编写过,这样的一个数据层。只要把以前写的那个数据层拷贝过来就可以了。实现代码复用。从而减短了软件的开发周期了。
FILETIME ftCreationTime; //文件的创建时间
FILETIME ftLastAccessTime; //文件的最后访问时间
FILETIME ftLastWriteTime; //文件的最后修改时间
DWORD nFileSizeHigh; //文件大小的高位双字
修改文件创建时间.txt为什么我们在讲故事的时候总要加上从前?开了一夏的花,终落得粉身碎骨,却还笑着说意义。修改文件创建时间
/f/xiu.rar
上面可以下载一个小程序,可以批量修改文件创建时间
摘要:本文讲述了在Visual C++ 下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。
DWORD nFileSizeHigh; // 文件长度高32位
DWORD nFileSizeLow; // 文件长度低32位
DWORD dwReserved0; // 系统保留
DWORD dwReserved1; // 系统保留
TCHAR cFileName[ MAX_PATH ]; // 长文件名
DWORD dwFileAttributes; //文件属性
FILETIME ftCreationTime; // 文件创建时间
FILETIME ftLastAccessTime; // 文件最后一次访问时间
FILETIME ftLastWriteTime; // 文件最后一次修改时间
三、 文件属性信息的获取与更改
为了更好的保存获取到的文件属性信息,对应于文件属性构造一个自定义的FILE_INFO数据结构,获取的属性信息可暂存于此:
typedef struct _FILE_INFO {
TCHAR szFileTitle[128]; //文件的标题名
DWORD dwFileAttributes; //文件的属性
二、 WIN32_FIND_DATA结构
关于文件的全部属性信息,总计有以下以下9种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了。
//声明结构对象
FILE_INFO FileInfo;
WIN32_FIND_DATA FindFileData;
……
//获取文件属性信息
FindClose(FindFirstFile("Test.txt",&FindFileData));
memset(&FileInfo,0,sizeof(FILE_INFO));
SetFileTime((HANDLE)destFile.m_hFile, //待写入的文件句柄
&FileInfo.ftCreationTime, //文件的创建时间
&FileInfo.ftLastAccessTime, //文件最近一次的访问时间
&FileInfo.ftLastWriteTime); //文件最近一次的修改时间
基于组件的三层B/S结构概述
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。
三层结构原理
3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层结构的缺点
“金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名
} WIN32_FIND_DATA, *PWIN32_FIND_DATA;
可以通过FindFirstFile()函数根据当前的文件存放路径查找该文件来把待操作文件的相关属性读取到WIN32_FIND_DATA结构中去:
……
//将文件属性信息保存到FileInfo中备用
strcpy(FileInfo.szFileTitle,myFile.GetFileTitle());
FileInfo.dwFileAttributes = FindFileData.dwFileAttributes;
FileInfo.ftCreationTime = FindFileData.ftCreationTime;
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
表示层
位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面
FileInfo.nFileSizeLow = FindFileData.nFileSizeLow;
……
在获取到文件的原始属性信息后既可以原封不动的将属性重新写到文件,也可以对其中某一项或某几项属性内容进行修改后再行写入文件,从而达到更改文件属性 的目的。比如可以用SetFileTime()函数设置文件的创建时间、最近一次访问时间以及最近一次修改的时间等等:
三层架构
三层架构,数据层(DAL)、逻辑层(BLL)、表示层(UI);
三层结构的优点
分层式结构究竟其优势何在?Martin Fowler在《Patterns of Enterprise Application Architecture》一书中给出了答案:
1、开发人员可以只关注整个结构中的其中某一层;
一、 引言
文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创 建、读取和写入文件。对于一些要求不是很严格的程序,我们往往只关心文件的内容是否正确、文件大小是否有增减或是再严格一些,看文件名是否符合规定等等。 以上这些要素对于大多数程序而言显然是可以满足实际需求的,但对于某些特殊行业的一些有着比较严格要求的软件系统,仅有以上要素还是远远不够的,往往还需 要对文件的所有属性诸如文件的创建时间、文件的最后访问时间、文件的最后修改时间等等进行提取处理与重新设置。
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。
DWORD nFileSizeLow; //文件大小的低位双字
DWORD dwReserved0; //保留,为0
DWORD dwReserved1; //保留,为0
} FILE_INFO, * PFILE_INFO;
首先用FindFirstFile()函数将文件属性获取到WIN32_FIND_DATA 结构对象FindFileData中去,之后可以用FindClose()将其关闭,并把FindFileData中的有关文件属性信息的内容复制到自定 义结构FILE_INFO的结构对象FileInfo中备用。下面是关于这部分描述的部分关键代码:
在用findfirst()和findnext()函数去查找磁盘文件时经常使用的一个数据结构WIN32_FIND_DATA的成员变量里包含了以上所有的文件属性,因此可以通过这个结构作为获取和更改文件属性的手段。该结构的内容如下:
typedef struct _WIN32_FIND_DATA {
进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。
如果是一个考试系统,考试合格的最低分数线要改,只需要修改业务逻辑相对应函数就可以了,只要此函数的入口参数和返回内容不变,在客户端不需作任何改动。在这里,看到了面向对象编程的特性之一封装性的优点,而这一点在开发大型应用时尤其有用,可以把开发人员分ห้องสมุดไป่ตู้两组,一组负责开发界面层,另一组负责开发商业逻辑层,双方只要按照事先商定的函数接口,并行地开发就可以,而不必向从前那样,后面的工作必须等前面的工作完成后才能开始。当然,这样的开发模式需要很好的项目协调和文档作支持。