Write-Host
пишет напрямую в экранный буфер и ничего не выводит, поэтому значения $init_size
и $final_size
фактически равны $null
при достижении оператора if
.
Выполните Write-Host $variable
после присвоения $variable
, и оно будет работать:
$index = 1
$file = "C:\Users\myfile"
while ($index -le 100000) {
$init_size = (Get-Item $file).Length / 1KB
Write-Host $init_size
<here is my command which populates $file>
$final_size = (Get-Item $file).Length / 1KB
Write-Host $final_size
$index++
sleep 5
If ($final_size -eq $init_size) { break }
}
Вызов Write-Host
для результатов самого выражения присваивания также будет работать:
Write-Host ($init_size = (Get-Item $file).Length / 1KB)