- Powershell概要
- ファイルが置かれたら起動するスクリプト【powershell学習サイト】
- ファイルが置かれたら起動するスクリプト
- 動作確認
- 登録されているか確認
- 登録解除時間軸:2022/09/19 ~ NOW
- 備考
Powershell概要
ファイルが置かれたら起動するスクリプト【powershell学習サイト】
power automateなどはファイルがおかれた瞬間/メール配信された瞬間に起動する仕組みがあります。
同様のことをpowershellで実現するにはどうすればよいのでしょうか。
ファイルが置かれたら起動するスクリプト
$watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = "C:\temp" $watcher.Filter = "*.xml" Register-ObjectEvent -InputObject $watcher -SourceIdentifier mywatch -EventName Created -Action { Write-Output "error" | Out-File -FilePath "C:\temp\error.log" -Encoding Default -append }
上記のpowershellスクリプトを「grep_rectangle_v2.ps1」と保存して実行してみましょう。
次のように出力されれば成功です。
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 mywatch NotStarted False ...
これで上記のコマンドを実行したpowershellコンソール画面が存在し続ける限りはチェックし続ける仕組みが完成しました
また、監視対象のフォルダーは共有ディレクトリでも動くので、サーバーから出力されたファイルの監視も可能になります。
動作確認
C:\temp(cドライブ配下のtempフォルダー)にxmlファイルを配置してみましょう。
同じ"C:\temp配下にerror.logが出力されるはずです。
登録されているか確認
登録されているか確認するには以下のコマンドを打ちます。
Get-EventSubscriber
登録解除時間軸:2022/09/19 ~ NOW
時間軸:2022/09/19 ~ NOW
登録を解除するには以下のコマンドを打ちましょう。
Unregister-Event -SourceIdentifier mywatch
備考
title:ファイルが置かれたら起動するスクリプト【powershell学習サイト】
description:powerautomateなどはファイルがおかれた瞬間/メール配信された瞬間に起動する仕組みがあります。同様のことをpowershellで実現するにはどうすればよいのでしょうか
page:https://minegishirei.hatenablog.com/entry/2024/05/21/120225