Home > スポンサー広告 > AutoHotkeyでディスクの容量を取得する

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/211-05085dd0
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog

Home > スポンサー広告 > AutoHotkeyでディスクの容量を取得する

Home > autohotkey > AutoHotkeyでディスクの容量を取得する

AutoHotkeyでディスクの容量を取得する

autohotkey

AutoHotkeyのコマンドでディスクの容量を取得

AutoHotkeyDriveGetコマンドの Capacityオプションでディスクの容量を取得して、DriveSpaceFreeコマンドでディスクの空き容量を取得する。

SetFormat, float, 0.2

; ドライブレターを設定
directoryName = C:\
DriveGet, diskSpace, capacity, %directoryName%
if (ErrorLevel = 0) {
    diskSpace := diskSpace / 1024
    DriveSpaceFree, freeSpace, %directoryName%
    freeSpace := freeSpace / 1024
    text = ディスクの容量`t%diskSpace%GB`nディスクの空き容量`t%freeSpace%GB
} else {
    text = ディスクの容量を取得できませんでした
}
MsgBox, , %directoryName%, %text%

; ディスクの容量 37.27GB
; ディスクの空き容量 25.98GB

Win32 APIでディスクの容量を取得

AutoHotkeyの DllCall()関数で Win32 APIの GetDiskFreeSpaceEx 関数を呼び出して、ディスクの容量、空き容量を取得する。

SetFormat, float, 0.2

GetDiskFreeSpaceEx(lpDirectoryName) { 
    VarSetCapacity(lpTotalNumberOfBytes, 8)
    VarSetCapacity(lpTotalNumberOfFreeBytes, 8)
    result := DllCall("GetDiskFreeSpaceExA", Str, lpDirectoryName, UInt, 0, Uint, &lpTotalNumberOfBytes, UInt, &lpTotalNumberOfFreeBytes) 
    If (result) {
        size = % Numget(lpTotalNumberOfBytes, 0, "Int64") / (1024 * 1024 * 1024) "," Numget(lpTotalNumberOfFreeBytes, 0, "Int64") / (1024 * 1024 * 1024)
    } else {
        size = 0
    }
    return size
}

;ドライブレターを設定
directoryName = C:\
diskSpace := GetDiskFreeSpaceEx(directoryName)
If (diskSpace) {
    StringSplit, diskSpaceList, diskSpace, `,
    text = ディスクの容量`t%diskSpaceList1%GB`nディスクの空き容量`t%diskSpaceList2%GB
} else {
    text = ディスクの容量を取得できませんでした
}
MsgBox, , %directoryName%, %text%

; ディスクの容量 37.27GB
; ディスクの空き容量 25.98GB

AutoHotkeyの DriveGetコマンドと DriveSpaceFreeコマンドは容量をメガバイト単位で取得する(下位を切り捨て)ため、2つのスクリプトでは結果が異なることがある。

参考にしたページ

Comments:0

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/211-05085dd0
Listed below are links to weblogs that reference
AutoHotkeyでディスクの容量を取得する from Karafuto Blog

Home > autohotkey > AutoHotkeyでディスクの容量を取得する

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。