Powershell - 检查新文件

时间:2018-06-18 22:10:16

标签: powershell powershell-v4.0

此代码似乎仅适用于新版本的'文件已创建。它似乎不接受复制到文件夹中的文件,这是我需要的。我们有一个处理.csv文件的应用程序,并将它们放入一个文件夹,我希望每天通过计划任务进行监控。我可以尝试在此代码中进行任何更改吗?

Param (
[string]$Path = "C:\Users\MG\Desktop\ScanFolder"
)                                                                        
$File = Get-ChildItem $Path | Where { $_.LastWriteTime -ge (Get-Date).AddHours(-1) }                                                                           
If ( $File ) {                                                          
Write-Output "Error File Found"                                              
}                                                                         
else { Write-Output "Nothing Found" }

1 个答案:

答案 0 :(得分:2)

测试.CreationTime / .CreationTimeUtc的值:

  • 对于新创建的文件,它将反映创建时间。

  • 对于新复制的文件,它将反映文件被复制到文件夹的时间(即使它比文件的.LastWriteTime值更新)。< / p>

应用于您的代码:

Param (
  [string] $Path = "C:\Users\MG\Desktop\ScanFolder"
)                                                                        

$file = Get-ChildItem $Path | Where { $_.CreationTime -ge (Get-Date).AddHours(-1) }                                                                           

If ($file) {                                                          
  "Error File Found"                                              
} else { 
  "Nothing Found" 
}