при использовании формы интерфейса выполнения прогресс-бара, как превысить предел max [int32] в $ progressbar.Maximum - PullRequest
0 голосов
/ 12 апреля 2019

Мне иногда нужно сделать резервную копию больших файлов. Я сделал программу, чтобы помочь мне в этой задаче, которая отображает индикатор выполнения графического интерфейса. $ progressbar.Maximum - тип int32, и я не могу изменить его на int64.

Я пытался преобразовать это так

[int64] $ progressbar.Maximum = $ weightfile

или как это

$ progressbar.Maximum = [int64] $ weightfile

Но $ progressbar.Maximum всегда int32

Здесь часть моего кода

...
ForEach ($file in $namefile ) {
#[$poidsfile = [convert]::ToByte((gci -Path $file.fullname).Length)
$weightfile = (gci -Path $file.fullname).Length

$i=0
do {$i++
    $ProgressBar1.Maximum = $weightfile
    $pct = ($i/$weightfile)*100
    $TextBox1.Text = [System.Math]::Round($pct,2)
    $ProgressBar1.PerformStep()
   } until ($i -eq $weightfile)
}
Write-Host '$i ==' $i
...

как перейти на int64?

...