フォルダー (すべてのファイルとサブフォルダー) のサイズを監視する方法を探しています。特定のサイズに達した場合は、何らかのメッセージが表示される必要があります。メッセージは、Windows がシャットダウン、休止状態、またはスリープ状態から起動した後 (または、少なくとも毎日、一定間隔で) に表示される必要があります。
標準の Windows 機能、ツール、またはスクリプトで実現できる方法を希望します。ただし、それが可能なサードパーティ ソフトウェアをご存知の場合は、ぜひご提案ください (可能であれば、スクリーン ショットと簡単な説明を添えてください)。よろしくお願いします。
ご注意ください:
サードパーティの監視ソフトウェアを推奨する場合は、フォルダーのサイズを監視し、適切なアラームをトリガーできることを確認してください。
スクリプトを提案していただく場合は、基本的な例があれば十分です(自分で作成するための出発点となるため)。
答え1
次のコードを使用して PowerShell スクリプトを作成します。
if((Get-Item \\server\file).length -gt 1.5GB) {
[System.Windows.MessageBox]::Show('Folder X has exceeded 1.5GB')
}
次に、ログイン時に実行され、その後定期的にこのスクリプトを呼び出すスケジュールされたタスクを作成します。
スクリプトはファイルまたはフォルダーのサイズをチェックし、1.5 GB を超える場合はメッセージを含むメッセージ ボックスをトリガーします。
答え2
@music2myear さんの投稿の方がずっと良いですが、私のアプローチは少し異なります。
次のように .ps1 (PowerShell ファイル) を作成します。
$size = ((Get-ChildItem C:\users\ -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum)
if ($size -gt 3.5GB)
{
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("C:\users folder is bigger than 3.5 Gb",0,"Done",0x1)
}
C:\Users
これにより、フォルダーがそれ以外の場合よりも大きいというポップアップが生成されますが3.5 GB
、何も起こりません。次に、この .ps1 ファイルをスケジュールされたタスクにポップして、ユーザーのログイン時に実行するか、ドメインにいる場合はユーザーのログオン スクリプトにポップします (スケジュールされたタスクの方がおそらく簡単です)。