如何获取文件复制到文件夹的日期

如何获取文件复制到文件夹的日期

在 Windows 7 中,如何获取文件复制到文件夹中的日期时间?我一直得到创建日期,但这不是我想要的。我想要文件到达文件夹的时间。我需要使用代码来检索该信息。我将一些文件通过 ftp 复制到我的文件夹中,这些文件显示它们的创建时间,但我需要这些文件到达我的文件夹的时间。

我需要更详细地说明。我们有一个文件夹,从不同来源接收文件,ftp,网站手动和自动下载,手动保存电子邮件附件,通过批处理文件复制,用 java 和 python 生成。目前我们有一个 vb 代码,可以获取每个文件的日期戳,因为我们试图决定在什么时候应该在我们的应用程序中上传每个文件。大多数文件都显示创建日期,我们需要获取实际文件到达文件夹的时间。我们无权访问服务器日志。我们只能访问网络中的文件夹。谢谢

答案1

这个问题可能更应该由 SuperUser 来回答,但我猜可能是有点与安全相关的...

复制会创建一个新文件,因此只需运行cp /some/path /destination/path就会创建一个新文件,并将创建时间戳设置为当前时间(尽管复制实用程序可以选择修改创建时间戳;大多数文件元数据都是用户可设置的)。

在 Windows 和 Linux 上,如果您想以一种即使对于管理员来说也有点难以隐藏的方式监视文件系统访问(对于非特权用户来说,除非进行物理访问攻击,否则不可能),可以使用“审计”功能。这只能在未来使用 - 您无法追溯审计已经发生的事情 - 并且会增加一些性能开销,但这是可以做到的。

在 Windows 资源管理器中,您可以转到文件或目录的“属性”,然后转到“安全”,再转到“审核”选项卡,并设置系统要记录的规则(例如,记录用户组成员的所有创建或删除事件);这些事件将记录在系统日志中(可使用内置的事件查看器工具查看)。您还可以使用icacls或其他工具设置审核以编辑访问控制;它是通过 SACL(系统访问控制列表)配置的。

在 Linux 中,请查看auditdauditctlaudit.rules;所有这些都应该有手册页。根据发行版的不同,您可能需要从 repo 安装审计工具。

我很确定 MacOS 上也有一个审计框架,但我对它并不熟悉。

相关内容