【问题标题】:PowerShell Script to Monitor Files & Run Script用于监视文件和运行脚本的 PowerShell 脚本
【发布时间】:2014-10-21 12:46:55
【问题描述】:

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

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

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

【问题讨论】:

  • 大家好,如果我使用文件夹的修改日期怎么办。如果上次修改日期小于今天的日期,则应用 ReadOnly 脚本..

标签: file powershell directory monitoring readonly-attribute


【解决方案1】:

看看FileSystemWatcherRegister-ObjectEvent

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

【讨论】:

  • 啊,我在强制重定向启动之前复制了。如果我可以告诉 Google 永远,永远将我发送到德国 MSDN,我很乐意...
【解决方案2】:

任务调度程序可能更简洁,但如果你愿意,这应该使用永无止境的 while 语句(根据需要修改睡眠时间):

while (1) {$Path = Get-Childitem -Path D:\ReadOnly\* 
foreach ($Item in $Path) {
  Set-ItemProperty $Path -Name IsReadOnly -Value $True ; start-sleep -Seconds 5
}}

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 1970-01-01
    • 2018-02-15
    • 2021-03-23
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多