有时,当我强制关闭Windows Server 2003计算机时(我别无选择),某个目录中包含的文件夹都将其“修改日期”更改为当前日期。
幸运的是,在每个文件夹中,文件都具有正确的“修改日期”。
我想复制“修改(或创建)日期”的其中一个文件是每个文件夹都在里面的.jdf文件。
我需要帮助才能在PowerShell中创建脚本。
我发现这个PS1脚本几乎完成了这项工作:
Get-ChildItem $root | Where-Object {$_.PSIsContainer} | Foreach-Object{
# get the oldest file for the current directory object
$oldest = Get-ChildItem $_.FullName | Sort-Object LastWriteTime | Select-Object LastWriteTime -Last 1
if($oldest)
{
# oldest object found, set current directory LastWriteTime
$_ | Set-ItemProperty -Name CreationTime -Value $oldest.LastWriteTime
$_ | Set-ItemProperty -Name LastWriteTime -Value $oldest.LastWriteTime
}
else
{
# current directory is empty, directory LastWriteTime is left unchanged
Write-Warning "Directory '$($_.FullName)' is empty, skiping..."
}
}
问题是文件夹中最后修改的对象有时是子文件夹,它们也将当前日期作为“修改日期”。 如何让它看起来文件夹中的文件而不是文件夹?
@JosefZ:我刚刚编辑了添加脚本的帖子。我希望现在更清楚了。谢谢
—
poupou
NTFS
只要在其中创建或删除对象(文件或文件夹),特定文件夹的日期和时间戳就会更改。