我正在寻找一个可以监视包含大量.DAT文件的文件夹的脚本,并且只要添加新的.DAT文件,脚本就可以运行以将这些文件的文件属性更改为只读格式。
我已经让脚本更改了这些文件的文件格式,但是我需要你帮助我创建脚本,以便在创建新文件后立即监视此文件夹。
$Path = Get-Childitem -Path D:\ReadOnly\*
foreach ($Item in $Path) {
Set-ItemProperty $Path -Name IsReadOnly -Value $True
}
答案 0 :(得分:2)
查看FileSystemWatcher和Register-ObjectEvent。
但是,您可以稍微延迟运行一个循环(无论如何您可能都需要它,因为否则您的脚本将立即退出)并重新检查。或者通过任务计划程序定期运行脚本。或者编写一个小的C#程序来做同样的事情(这样会更容易编写,因为在PowerShell中.NET对象事件很尴尬)。
答案 1 :(得分:0)
任务调度程序可能更干净,但如果你愿意,这应该使用永不结束的while语句(根据需要修改休眠时间):
while (1) {$Path = Get-Childitem -Path D:\ReadOnly\*
foreach ($Item in $Path) {
Set-ItemProperty $Path -Name IsReadOnly -Value $True ; start-sleep -Seconds 5
}}