イベントを見て停止するSystem.IO.FileSystemWatcher
$folder = 'c:\myfoldertowatch'
$filter = '*.*'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter
$fsw.IncludeSubdirectories = $true
$fsw.NotifyFilter = [IO.NotifyFilters]'DirectoryName' # just notify directory name events
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action { ... do my stuff here } # and only when is created
使用を使用します。
$fsw = New-Object System.IO.FileSystemWatcher -Property @{
Path = "d:\temp"
IncludeSubdirectories = $true #monitor subdirectories within the specified path
}
$event = Register-ObjectEvent -InputObject $fsw –EventName Created -SourceIdentifier fsw -Action {
#test if the created object is a directory
if(Test-Path -Path $EventArgs.FullPath -PathType Container)
{
Write-Host "New directory created: $($EventArgs.FullPath)"
# run your code/script here
}
}
をしかし、このスクリプトは、すべての実行されているはずです新しいビルドがいつ中止されるのか分からないからですこの実装はどれくらい安全で安定していますか? –
同じ作業を行うIO.FileSystemWatcherクラスを使用して、.NET(vb/c#)でアプリケーション(Windowsサービスが多分?)を作成できます。個人的に私は約1年間同じことをする運用サーバー上でpowershellスクリプトを使用します(保守再起動は除外しました;)) –
テスト済みです。働いている:Dクリスチャンとシェイの両方に感謝します。私はこれに非常に新しいです、そして、この助けは私に多くを意味します。 –