Pchełki Powershell: wolne miejsce na dyskach

Skrypt w PowerShell sprawdzający ilość wolnego miejsca na dyskach twardych.

Sposobów na sprawdzenie ilości wolnego miejsca na dysku jest dużo. Najprościej uruchomić okno Eksploratora i rzucić okiem.

Niedawno jednak naszła mnie potrzeba napisania aplikacji konsolowej, która wyświetlałaby mi informację o wolnym miejscu na wybranych dyskach w następujący sposób:

C:\ XXX GB free, YYY GB used
D:\ ZZZ GB free, VVV GB used

i tak dalej.

Po kilku nieudanych próbach napisania tego w „zwykłym” .bat spróbowałem z PowerShell. Najpierw wyguglałem możliwość użycia WMI Instrumentation, ale rozwiązanie było trochę za bardzo skomplikowane.

Zagadałem więc do znajomego, który siedzi w branży serwerowej. Nie wiem dokładnie czym się gość zajmuje, ale wiem, że jak mam jakiekolwiek pytanie dotyczące zarządzania serwerami (głównie linuksowymi, ale nie tylko), facet na 99% będzie miał odpowiedź od ręki.

Istotnie, miał: magiczne polecenie Get-PSDrive

Całość kodu wygląda tak:

While($true) {
	Clear-Host
	ForEach($Disk in $(Get-PSDrive E, F, G, H)) {
		Write-Host $Disk.Root $('{0:N0}' -f $($Disk.Free/(1024*1024*1024)))'GB free,'$('{0:N0}' -f $($Disk.Used/(1024*1024*1024)))'GB used'
	}
	Start-Sleep -s 10
}

Jeszcze raz, tym razem z lepiej „połamanymi” liniami, na małe ekrany:

While($true) {
	Clear-Host
	ForEach($Disk in $(Get-PSDrive E, F, G, H)) {
		Write-Host `
			$Disk.Root `
			$('{0:N0}' -f $($Disk.Free/(1024*1024*1024))) `
			GB free `
			$('{0:N0}' -f $($Disk.Used/(1024*1024*1024))) `
			GB used
	}
	Start-Sleep -s 10
}

A oto efekt:

powershell-diskfree-01

Jeżeli ktoś jest zainteresowany szczegółowymi objaśnieniami, zapraszam do komentarzy.

Autor: xpil

Po czterdziestce. Żonaty. Dzieciaty. Komputerowiec. Krwiodawca. Emigrant. Rusofil. Lemofil. Sarkastyczny. Uparty. Mól książkowy. Ateista. Apolityczny. Nie oglądam TV. Uwielbiam matematykę. Walę prosto z mostu. Gram na paru instrumentach. Lubię planszówki. Słucham bluesa, poezji śpiewanej i kapel a’capella. || Kliknij tutaj po więcej szczegółów ||

Dodaj komentarz

4 komentarzy do "Pchełki Powershell: wolne miejsce na dyskach"

Powiadom o
avatar
Sortuj wg:   najnowszy | najstarszy | oceniany
Rzast
Gość

Ja na „starym” laptopie mam Samurize, które pokazuje mi co chcę o dyskach na żywo. Oprócz tego id i siłę Wifi, obciążenie procka, naładowanie baterii i takie tam… Tu masz opisany program i alternatywy do niego (skądinąd fajna stronka, polecam się pobawić na niej trochę 😉 ): http://alternativeto.net/software/samurize/

Artur
Gość

get-psdrive -psprovider filesystem

wpDiscuz