Home > Windows XP > VBスクリプトでコンピュータの起動時間を表示させる方法

VBスクリプトでコンピュータの起動時間を表示させる方法

  • このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

  • 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
<この記事を全て表示する場合はこちらをクリック>

関連する記事

Comments:0

Comment Form
Remember personal info

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

Home > Windows XP > VBスクリプトでコンピュータの起動時間を表示させる方法

Return to page top