在某些情况下,在特定过程中可能会出现文件日期和时间问题,如编译(当日期和时间较早时,为较新文件重建源文件)。
起初,我试图找到一种不用手动选择所有内容和更改日期的方法,但我偶然发现了一种Powershell方法:
Get-ChildItem -force d:\path\ * | ForEach-Object{
$_.LastWriteTime="19 July 2014 17:06:14"
$_.CreationTime="19 July 2014 17:06:14"
$_.LastAccessTime="19 July 2014 17:06:14"
}
但是,这只会更改路径中文件和文件夹的日期和时间,但不更改子目录中的文件和文件夹。
因此,为了缓解这个问题,我们使用Powershell将日期和时间更改为较早的值。
下面我们有一个这样的过程示例,它将所有文件夹、文件和子文件夹的创建、访问和写入日期和时间更改为<d:\path>中的<19 July 2014 17:06:14>:
Get-ChildItem -force d:\path\ * -Recurse | ForEach-Object{
$_.LastWriteTime=“"19 July 2014 17:06:14"”
$_.CreationTime=“"19 July 2014 17:06:14"”
$_.LastAccessTime=“"19 July 2014 17:06:14"”
}