Inne PchełkiPchełki

Pchełki Powershell: wolne miejsce na dyskach

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.

Tagi
Pokaż więcej

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

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

avatar
  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
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

Marcin
Gość

Właśnie tego szukałem ! 😀 Jesteś wybawca dla mnie 😀 Nigdy nie pisze komentarzy ale teraz byłoby grzechem nie podziekować ! DZIEKI!!!!!
A jak zrobić zeby wynik wrzucic do txt?