Powershell-检查新文件
此代码似乎只有在创建“新”文件时才起作用。它似乎不接受复制到文件夹中的文件,这正是我需要的。我们有一个应用程序,它处理.csv文件并将它们放入一个文件夹中,我希望每天通过一个计划任务来监视该文件夹。在这段代码中我可以尝试更改什么Powershell-检查新文件,powershell,powershell-4.0,Powershell,Powershell 4.0,此代码似乎只有在创建“新”文件时才起作用。它似乎不接受复制到文件夹中的文件,这正是我需要的。我们有一个应用程序,它处理.csv文件并将它们放入一个文件夹中,我希望每天通过一个计划任务来监视该文件夹。在这段代码中我可以尝试更改什么 Param ( [string]$Path = "C:\Users\MG\Desktop\ScanFolder" ) $Fil
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" }
测试
.CreationTime
/.CreationTimeUtc
的值:
- 对于新创建的文件,它将反映创建时间
- 对于新复制的文件,它将反映文件复制到文件夹的时间(即使该时间比文件的
值更晚).LastWriteTime
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"
}
使用可能会有所帮助,因为可以将其配置为监视文件夹(和子文件夹)中的文件更改,包括复制的文件。如何将文件复制到此目录中?我使用了
Copy Item
,并且LastWriteTime
与原始文件位置保持不变。LastAccessTime
和CreationTime
都已更新到当前时间。