我编写了一个简单的 powershell 脚本,它递归地遍历文件树并以制表符分隔的形式返回每个节点的路径及其创建时间,这样我就可以将它写到一个文本文件中并使用它来进行统计分析:
echo "PATH CREATEDATE"
get-childitem -recurse | foreach-object {
$filepath = $_.FullName
$datecreated = $_.CreationTime
echo "$filepath $datecreated"
}
然而,一旦我这样做了,我注意到当我查看相同文件的相同属性时,由脚本生成的 CreationDate 时间正好比 Windows 资源管理器所说的早一小时。通过检查我的数据集的其余部分(以不同的格式记录周围的事件),很明显,我从 explorer 获得的结果是唯一符合整体叙述的结果,这让我相信 Powershell 有问题脚本,使其写出不正确的时间。有没有人知道为什么会这样?
问题背景:
我正在尝试纠正一些 XML 日志文件设计中的问题,这些文件在用户启动和停止使用应用程序时记录,而实际上应该记录用户通过工作流的不同阶段所花费的时间. 我找到了一种可能的方法来解决这个问题,方法是从用户与 XML 日志一起发送的一些备份文件中提取日期信息。备份是由我们的最终用户应用程序在用户在工作流的各个阶段之间转换的确切时刻生成的,因此我试图将这些文件的时间戳中的信息与原始 XML 日志的内容结合起来,以找出什么我想知道工作流程的步骤。
评论讨论中得出的观点总结:
- 这些文件与我正在运行的脚本位于同一台机器上(不是网络存储)
- 更正夏令时和时区提高了数据质量,但不是针对原始问题中提出的具体问题。