- 2009-08-02 (日) 2:54
- Windows XP
ページ : 1 2
<この記事を全て表示する場合はこちらをクリック>
Hey, Scripting Guy!の記事を読みつつ、コンピュータの起動時間を表示するVBスクリプトを作ってみました。
算数嫌いには秒を時分秒に変換する部分が辛いです。
以下のコードをメモ帳等に貼り付けて、ファイル名を[SystemUpTime.vbs]に変更して、コマンドプロンプトから以下のように実行します。
cscript //nologo SystemUpTime.vbs
実行結果は、以下のようになります。
このコンピュータの起動時間は02時間22分24秒です。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOS in colOperatingSystems
dtmBootup = objOS.LastBootUpTime
dtmLastBootupTime = WMIDateStringToDate(dtmBootup)
dtmSystemUptime = DateDiff("s", dtmLastBootUpTime, Now)
Wscript.Echo "このコンピュータの起動時間は" & Second2Time(dtmSystemUptime,1) & "です。"
Next
'UTC時間を時刻に変換
Function WMIDateStringToDate(dtmBootup)
WMIDateStringToDate = CDate(Mid(dtmBootup, 5, 2) & "/" & _
Mid(dtmBootup, 7, 2) & "/" & Left(dtmBootup, 4) _
& " " & Mid (dtmBootup, 9, 2) & ":" & _
Mid(dtmBootup, 11, 2) & ":" & Mid(dtmBootup,13, 2))
End Function
'秒を時分秒に変換
Function Second2Time(intSec,int)
Dim Hour
Dim Minute
Dim Second
Hour = intSec \ 3600
Minute = (intSec - Hour * 3600) \ 60
Second = intSec - Hour * 3600 - Minute * 60
Select Case int
Case 0
Second2Time = LeadingZero(Hour) & ":" & LeadingZero(Minute) & ":" & LeadingZero(Second)
Case 1
Second2Time = LeadingZero(Hour) & "時間" & LeadingZero(Minute) & "分" & LeadingZero(Second) & "秒"
Case Else
Second2Time = ""
End Select
End Function
'数値の整形
Function LeadingZero(intNumber)
If intNumber < 10 Then
LeadingZero = "0" & intNumber
Else
LeadingZero = intNumber
End If
End Function
さらに日時分秒で表示させたい場合には以下のように記載します。
'秒を日時分秒に変換 Function Second2Time(intSec,int) Dim Day Dim Hour Dim Minute Dim Second Day = intSec \ 86400 Hour = (intSec - Day * 86400) \ 3600 Minute = (intSec - Day * 86400 - Hour * 3600) \ 60 Second = intSec - Day * 86400 - Hour * 3600 - Minute * 60 Select Case int Case 0 Second2Time = Day & ":" & LeadingZero(Hour) & ":" & LeadingZero(Minute) & ":" & LeadingZero(Second) Case 1 Second2Time = Day & "日" & LeadingZero(Hour) & "時間" & LeadingZero(Minute) & "分" & LeadingZero(Second) & "秒" Case Else Second2Time = "" End Select End Function
Popularity: 1% [?]
ページ : 1 2
<この記事を全て表示する場合はこちらをクリック>
関連する記事
- Newer : Active Directory上からコンピュータオブジェクトを取得し、オンラインだった場合に起動時間を取得するスクリプト
- Older : Active Directoryに所属したコンピュータからActive Directoryの情報を取得するスクリプト
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://pnpk.net/cms/archives/2396/trackback
- Listed below are links to weblogs that reference
- VBスクリプトでコンピュータの起動時間を表示させる方法 from http://pnpk.net