2017/04/08(土)ドライブ空き容量をチェックしてトースト通知する

ドライブ空き容量をチェックしてトースト通知する

PowerShellで空き容量チェックスクリプトを書いてみました。Windows 10 のアクションセンターで通知されます(トースト通知)。

check_diskspace.png

ソースコード

# ドライブごとにしきい値を設定
$min_freespace = @{
    "C" = 30GB;
    "D" = 10GB;
    "E" = 50GB;
}

function ShowBalloonTip(
    [string] $tilte = "件名", 
    [string] $body = "本文"
) {
    #[Reference]
    # PowerShell can I use balloons, toasts and notifications?
    #   https://deploywindows.info/2015/12/01/powershell-can-i-use-balloons-toasts-and-notifications/
    # Toasts templates
    #   https://msdn.microsoft.com/en-us/library/windows/apps/hh761494.aspx

    [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
    $template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
    # Convert to .NET type for XML manipuration
    $toastXml = [xml] $template.GetXml()
    # Customize the toast message
    $text = $toastXml.GetElementsByTagName("text")
    $text[0].AppendChild($toastXml.CreateTextNode($tilte)) > $null
    $text[1].AppendChild($toastXml.CreateTextNode($body)) > $null

    # Convert back to WinRT type
    $xml = New-Object Windows.Data.Xml.Dom.XmlDocument
    $xml.LoadXml($toastXml.OuterXml)
    $Toast = [Windows.UI.Notifications.ToastNotification]::new($xml)

    $AppID = 'Microsoft.Explorer.Notification.{3e1c1f24-a023-49cf-98ff-90cdabb9930b}'

    [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($AppID).Show($Toast)
}

$msg = ""
foreach ($drive_letter in $min_freespace.Keys) {
    $drive = Get-PSDrive $drive_letter
    if ( $drive.Free -lt $min_freespace[$drive_letter] ) {
        $msg += "{0}ドライブ空き容量:{1,0:0.00}GB`n" -f $drive_letter, ($drive.Free/1GB);
    }
}

if ( $msg ) { 
    ShowBalloonTip "空き容量警告" $msg
}

準備

以下のレジストリを登録しないとトースト通知を履歴に残せないようです。(通知自体はされる。)

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Microsoft.Explorer.Notification.3e1c1f24-a023-49cf-98ff-90cdabb9930b
    • 値の名前: ShowInActionCenter
    • 値のデータ: 1
    • 種類: REG_DWORD

コマンドで追加するなら、

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Microsoft.Explorer.Notification.{3e1c1f24-a023-49cf-98ff-90cdabb9930b}" /v ShowInActionCenter /t REG_DWORD /d 1

「Microsoft.Explorer.Notification.3e1c1f24-a023-49cf-98ff-90cdabb9930b」*1のところに特に意味は無く、ソースコード内のIDと一致していれば良いです。

自動実行

タスクスケジューラーに登録すれば、自動実行できます。

  • プリグラム/スクリプト: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
  • 引数の追加(オプション): -ExecutionPolicy RemoteSigned -File スクリプトのパス

ただ、普通に登録するだけではどうしてもウィンドウが表示されてしまうようです。検索するとWSH(VBScriptやJScript)経由でPowerShellを呼び出すことでウィンドウを隠す方法が見つかります。PowerShell単体でできるようにして欲しい(-_-;)

更新履歴

  • 2017/04/08: 不要な記述が残っていたので削除。

*1 : 3e1c1f24-a023-49cf-98ff-90cdabb9930bは[Guid]::NewGuid()で新規取得したGUIDを使っただけ。

2017/03/20(月)JPEGエンコーダーguetzliを試してみた

JPEGエンコーダーguetzliを試してみた

Googleが新しいJPEGエンコーダー「Guetzli」を発表したので試してみました。

入手元

guetzliと比較用のmozjpegのWindows向けバイナリは以下のサイトから入手しました。

圧縮手順

  • guetzli
     guetzli_windows_x86-64.exe --quality 95 RanHeart.jpg guetzli_RanHeart_q95.jpg
    
  • mozjpeg
     cjpeg.exe --quality 95 -outfile mozjpeg_RanHeart_q95.jpg RanHeart.jpg 
    

いずれも、RanHeart.jpgが入力画像。

画像比較

画像アップローダー - ECO-Wiki (acronia)に上がっていたちょうど良さそうな大きさの画像で試してみました。

guetzliでQualityを95/90/85の3通りで圧縮し、mozjpegで近いファイルサイズになった画像を比較用に並べています。(なお、元画像はjpegtranで可逆最適化してあります。)

分類guetzlimozjpeg
元画像元画像 (29,871B)
orig_RanHeart.jpg
元画像 (29,871B)
orig_RanHeart.jpg
高画質Quality 95 (24,596B)
guetzli_RanHeart_q95.jpg
Quality 93 (25,557B)
mozjpeg_RanHeart_q93.jpg
中画質Quality 90 (19,051B)
guetzli_RanHeart_q90.jpg
Quality 88 (19,378B)
mozjpeg_RanHeart_q88.jpg
低画質Quality 85 (15,658B)
guetzli_RanHeart_q85.jpg
Quality 82 (15,764B)
mozjpeg_RanHeart_q82.jpg

・・・どうしよう、ぱっと見どれも違いがよく分からない(^_^;)

とりあえず分かりやすいのは口元の赤色で、guetzliの方は元の色合いが大分保たれています。

JPEG高圧縮時に現れるモスキートノイズの現れ方はよく見るとguetzliとmozjpegで違っているのですが、特にどちらの方が良いというわけではない気がしました。

エンコード時間

1回しか測ってませんが、guetzliが6.6秒で、mozjpegが0.05秒でした。かなり遅いです。

感想

JPEGが苦手な赤に強いのは良さそうです。

エンコード時間がかかるのは難点ですが、Web公開する画像がそんなに大量にあるわけでも無いので、そう考えれば許容範囲でしょうか。(デジカメで撮った大きな写真を片っ端から圧縮するような使い方は難しそう。)

出たばっかりのソフトですし、もうちょっと速度とか改善されるまで様子見が無難かも。

2017/03/06(月)スロット拡張成功率調査(イリスカード強化祭+OTPボーナス)

スロット拡張成功率調査(イリスカード強化祭+OTPボーナス)

スロット上限が10スロットまで拡張されたので、武器と服を400個ずつスロット拡張してみました。

ポーチ/武器製造LV10&スロット成功確率%上昇2
スロットS1S2S3S4S5S6S7S8S9S10
成功数-334255142633213844
失敗数-6679113793119540
成功割合[%]-83.5076.3555.6944.3750.7940.6361.5450.00100.00
サマートップス/防具製造LV10&スロット成功確率%上昇2
スロットS1S2S3S4S5S6S7S8S9S10
成功数4003412541436636211271
失敗数05987111773015956
成功割合[%]100.0085.2574.4956.3046.1554.5558.3357.1458.3314.29

ポーチS10が4個できたのは運が良かっただけのようで、サマートップスは最後のS9→S10でかなり失敗してしまいました。

とは言え、S9とS10の成功率は凄く低いと言うほどではなさそうな感触です。保険を使った強化の時も半分くらいは成功してましたし。

2016/11/23(水)ノートPC購入・SSD換装 (LEVEL∞ N-Class Lev-15QX092-i7-RNE)

PC::Memo

ノートPC購入・SSD換装

今まで使っていたノートPCは結構前から調子が良くなく、新しいCPU/GPUが出たタイミングで買い換えようと思っていたのですが、最近GeForce GTX 10シリーズ(Pascal)がリリースされたのでついに買い換えることにしました。

CPUの方はKabylake-Hを待ってるとまたしばらく先になりそうなのと、Skylakeとの性能差はそんなに無さそうだったので待たずに買うことに(^_^;)

続きを読む

2016/09/30(金)パートナーステータス一覧

パートナーステータス一覧

ECO公式ツール・パートナーサーチ

ECO公式ツール・パートナーサーチが公開されて、パートナーのステータスを簡単に調べることができるようになりました。しかし、パートナー名やLVを指定した検索なので、LV1~110のステータスを一覧にして眺めるような目的にはちょっと使いにくいです。

パートナーステータス一覧CSVファイル

そこで、パートナーサーチのデータを機械的に取得してCSV形式の一覧表を作ってみました。

以下のリンクからダウンロードできます。

  • eco_partner_20160930.zip (約2MB、解凍後約15MB)
    • 成長ポイントは未振り、信頼度は灰色で、転生前後のLV1~110を取得しています。

これで、表計算ソフトでグラフを書いて遊んだりすることができます(>_<)

プルル・アルマ ATK

おまけ:考察

pururu_hp.png

ちゃんと確認したのはプルル・アルマのHPだけですが、以下のような法則があるようです。

  • 転生前
    • 完全に線形(一次関数)
    • なので、LVがnの時のHPは、LV1とLV110のHPを使って、以下の計算式で計算できます。(端数切り捨て。)

      HP[LVn] = HP[LV1] + (HP[LV110] - HP[LV1]) * (n-1) / 109

  • 転生後
    • 転生後HP = 転生前HP + 転生後ボーナスHP の形になっている
    • 転生後ボーナスは10の倍数LVで増える。具体的な値は下の表を。
      • 増え方の法則はたぶん無い?
プルル・アルマHP一覧表
LV転生前転生後転生後ボーナス=転生後-転生前
1450750300
2475775300
3500800300
4525825300
5550850300
6576876300
7601901300
8626926300
9651951300
106771,177500
117021,202500
127271,227500
137521,252500
147771,277500
158031,303500
168281,328500
178531,353500
188781,378500
199041,404500
209291,729800
219541,754800
229791,779800
231,0051,805800
241,0301,830800
251,0551,855800
261,0801,880800
271,1051,905800
281,1311,931800
291,1561,956800
301,1812,1811000
311,2062,2061000
321,2322,2321000
331,2572,2571000
341,2822,2821000
351,3072,3071000
361,3332,3331000
371,3582,3581000
381,3832,3831000
391,4082,4081000
401,4333,4332000
411,4593,4592000
421,4843,4842000
431,5093,5092000
441,5343,5342000
451,5603,5602000
461,5853,5852000
471,6103,6102000
481,6353,6352000
491,6613,6612000
501,6864,6863000
511,7114,7113000
521,7364,7363000
531,7614,7613000
541,7874,7873000
551,8124,8123000
561,8374,8373000
571,8624,8623000
581,8884,8883000
591,9134,9133000
601,9385,9384000
611,9635,9634000
621,9885,9884000
632,0146,0144000
642,0396,0394000
652,0646,0644000
662,0896,0894000
672,1156,1154000
682,1406,1404000
692,1656,1654000
702,1908,1906000
712,2168,2166000
722,2418,2416000
732,2668,2666000
742,2918,2916000
752,3168,3166000
762,3428,3426000
772,3678,3676000
782,3928,3926000
792,4178,4176000
802,44310,4438000
812,46810,4688000
822,49310,4938000
832,51810,5188000
842,54410,5448000
852,56910,5698000
862,59410,5948000
872,61910,6198000
882,64410,6448000
892,67010,6708000
902,69511,6959000
912,72011,7209000
922,74511,7459000
932,77111,7719000
942,79611,7969000
952,82111,8219000
962,84611,8469000
972,87211,8729000
982,89711,8979000
992,92211,9229000
1002,94724,94722000
1012,97224,97222000
1022,99824,99822000
1033,02325,02322000
1043,04825,04822000
1053,07325,07322000
1063,09925,09922000
1073,12425,12422000
1083,14925,14922000
1093,17425,17422000
1103,20027,20024000
OK キャンセル 確認 その他