때때로 Windows Server 2003 컴퓨터를 강제 종료하면 (선택할 수 없음) 특정 디렉토리에 포함 된 폴더가 모두 '수정 된 날짜'를 현재 날짜로 변경합니다.
운 좋게도 이러한 각 폴더 안에 파일이 모두 올바른 '수정 날짜'를 갖습니다.
"수정 된 (또는 생성 된) 날짜"를 복사하려는 이러한 파일 중 하나는 각 폴더에있는 .jdf 파일입니다.
PowerSell에서 스크립트를 작성하는 데 도움이 필요합니다.
나는 거의 일을하는이 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 2016 년
NTFS
특정 폴더의 날짜 및 시간 소인은 오브젝트 (파일 또는 폴더)를 작성하거나 삭제할 때마다 변경됩니다.