PowerShell时间记录脚本
PowerShell时间记录脚本
发布时间:2016-12-28 来源:查字典编辑
摘要:#initialization$timeInterval=30#监测间隔$record=@{"Coding"=0;"OutlookEmail...

#initialization $timeInterval = 30 #监测间隔 $record = @{"Coding" = 0; "Outlook Email" = 0; "Gmail" = 0; "Google Reader" = 0; "BBS" = 0; "Other Internet" = 0; "Documents" = 0;} $count = 0 $date = date -format "yyyyMMdd" #try to resume if (test-path "d:temptimeRecord$date.txt") { gc "d:temptimeRecord$date.txt" | % {if ($_ -match "w+s+d+") { $groups = [Regex]::Match($_, "^(w+s").Groups; $record[$groups[1].Value] = [int]::Parse($groups[2].Value); }} } #start to monitor while ($true) { $titles = ps | ? {$_.MainWindowTitle} | select MainWindowTitle $titles | % { if ($_ -match "Google 阅读器 - Windows Internet Explorer") {$record["Google Reader"]++;} else {if ($_ -match "Gmail - Windows Internet Explorer") {$record["Gmail"]++;} else {if ($_ -match "Internet Explorer") {$record["Other Internet"]++;} else {if ($_ -match "Visual Studio") {$record["Coding"]++;} else {if ($_ -match "Microsoft Word") {$record["Documents"]++;} else {if ($_ -match "Microsoft Office OneNote") {$record["Documents"]++;} else {if ($_ -match "Microsoft PowerPoint") {$record["Documents"]++;} else {if ($_ -match "Message (HTML)") {$record["Outlook Email"]++;} else {if ($_ -match "bbs") {$record["BBS"]++;} }}}}}}}} } sleep($timeInterval) $count = ($count + 1) % 10 #为了防止数据丢失,每10次记录写入文件一次 if ($count -eq 0) {$record > "d:temptimeRecord$date.txt"} }

为了解技术思路,研究了一下powershell.

整个开发与部署过程如下:

1.下载WindowsXP-KB926139-v2-x86-ENU

安装powershell环境;

2.按照代码要求,写一个简单的脚本;

3. 运行powershell时,同 bat是有区别的.注意以下方法:

1) 解除限制:

set-executionpolicy Unrestricted

2) 将文件名保存为ps1

3) 通过以下方法运行(假如文件名是c:a.ps1)

PS C:> .a

[@more@]

示例代码:

function foo ( [int] $x) { $x = $x + 1 echo $x } foo (1 )

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新PowerShell学习
热门PowerShell学习
脚本专栏子分类