SQLの窓

2010年04月09日


PowerShell2.0 : イベントの処理とタイマーと、関数と変数のスコープ

.NET のアセンプリのイベント処理を行う為の準備の為のテストです。関数のスコープは、現在のセッションでテストの為に表示するのに必須でした。特別な理由が無い限り運用のスクリプト内の定義はグローバルを意識して定義して処理するのがいいと思います。
# タイマー作成
$timer = New-Object Timers.Timer
# タイマー間隔
$timer.Interval = 500

# タイマーのイベント処理を登録
$job = Register-ObjectEvent `
	-inputObject $timer `
	-eventName Elapsed `
	-sourceIdentifier testEventSample `
	-Action { myTimerFunction }

# タイマーの処理
# 呼び出し側に表示させる為にグローバルスコープとして登録
$counter = 0	# このスクリプトのスコープ
function global:myTimerFunction {
	# このスクリプトのスコープで参照
	$script:counter++
	$str = get-date -uformat %s
	[System.Console]::WriteLine("OK : $counter : $str")
}

# 規定値は false
# タイマー開始
$timer.Enabled = $true


<#

# PowerShellのプロンプトから .ps1 を実行する場合、
# スクリプト内で完結させるにはこの部分を有効にします
# 有効にしない場合は、スクリプト実行後もイベントは継
# 続して実行されます
# その場合イベントを終了するには、unregister-event
# を実行して下さい

# タイマーの処理を表示させる為にこちら側に停止状態
# を連続的に作成
for($i=1;$i -le 20;$i++){
	Start-Sleep -Milliseconds 500
}

# タイマーのイベント処理を削除
unregister-event testEventSample

# 関数を削除
remove-item function:myTimerFunction

#>

"スクリプト終了"




【PowerShellの最新記事】
posted by lightbox at 2010-04-09 11:49 | PowerShell | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり