1

我创建了一个 PowerShell 脚本来监视文件夹中的新文件;它删除包含“cmr”的文件并记录包含“cdr”的文件的名称。

这一切昨天都奏效了,今天我决定重新启动,看看事件是否会保留,但我什至无法让它工作,我不确定发生了什么。

$folder = "C:\Users\home\Documents\calldata"
$filter = '*.*'
Set-Location $folder
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

Register-ObjectEvent $fsw Created -SourceIdentifier NewCallData -Action{
    $name = $Event.SourceEventArgs.Name
    if($name -match "cmr"){
        Write-Host $folder\$name
        Remove-Item $folder\$name
    }
    if($name -match "cdr"){
        Out-File -FilePath C:\MCallPowershell\outlog.txt -Append -InputObject "$name"
    }
}
4

1 回答 1

2

您可能需要取消注册事件才能运行新实例:

注销事件 NewCallData

然后再次运行

于 2013-11-07T15:01:31.770 回答