0

我正在寻找一个脚本,它可以监视具有大量 .DAT 文件的文件夹,并且一旦添加了新的 .DAT 文件,该脚本就可以运行以将这些文件的文件属性更改为只读格式。

我已经制作了脚本来更改这些文件的文件格式,但我需要你们的帮助,帮助我创建脚本,以便在创建新文件后立即监控此文件夹。

$Path = Get-Childitem -Path D:\ReadOnly\* 
foreach ($Item in $Path) {
  Set-ItemProperty $Path -Name IsReadOnly -Value $True
}
4

2 回答 2

2

看看FileSystemWatcherRegister-ObjectEvent

但是,您可以在一个循环中运行一点延迟(无论如何您都可能需要,因为否则您的脚本将立即退出)并重新检查。或者通过任务计划程序定期运行脚本。或者编写一个小 C# 程序来做同样的事情(这将更容易编写,因为 .NET 对象事件在 PowerShell 中很笨拙)。

于 2014-10-21T12:58:05.573 回答
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
}}
于 2014-10-23T01:44:17.667 回答