我有以下情况:
> 1:创建一堆文件
> 2:调用一些外部应用程序来处理所有不同的文件
自上次快照以来的创建时间
> 3:删除文件
> 4:goto 1
原来,Windows不能保证在用户创建文件时会删除创建时间,而是创建一个具有相同名称的文件.
我写了一个小型的PowerShell脚本来验证这一点:
ls | Remove-Item $fileListOld = @{} foreach($i in 1..1000) { $fname = [string]::Format("{0}.txt",$i) "tst" >> $fname } ls | % { $fileListOld[$_.Name] = $_ } ls | Remove-Item foreach($i in 1..1000) { $fname = [string]::Format("{0}.txt",$i) "tst" >> $fname } $fileListNew = @{} ls | % { $fileListNew[$_.Name] = $_ } $count = 0 foreach ($fname in $fileListNew.Keys) { if ($fileListNew[$fname].CreationTimeUtc -eq $fileListOld[$fname].CreationTimeUtc) { Write-Host Same creation time -ForegroundColor Red Write-Host $fname -ForegroundColor Red $count++ } } Write-Host $count
输出:
... ... Same creation time 241.txt Same creation time 944.txt Same creation time 908.txt Same creation time 631.txt Same creation time 175.txt Same creation time 798.txt Same creation time 192.txt Same creation time 961.txt Same creation time 476.txt Same creation time 566.txt Same creation time 945.txt Same creation time 681.txt Same creation time 880.txt Same creation time 162.txt Same creation time 634.txt Same creation time 746.txt Same creation time 442.txt Same creation time 35.txt Same creation time 96.txt Same creation time 771.txt Same creation time 787.txt Same creation time 972.txt Same creation time 642.txt Same creation time 495.txt Same creation time 625.txt Same creation time 666.txt Same creation time 660.txt Same creation time 6.txt Same creation time 593.txt Same creation time 549.txt Same creation time 842.txt Same creation time 314.txt Same creation time 148.txt **1000**