process = new Process()
{
StartInfo = new ProcessStartInfo(/*exe-path*/, arguments)
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
},
};
process.Start();
Thread.Sleep(1000);
await Task.Run(() =>
{
while (!process.HasExited)
{
var fileInfo = new FileInfo(restorePath);
var fileSize = BytesToString(fileInfo.Length);
Log(fileSize);
Thread.Sleep(3000);
}
});
string BytesToString(long byteCount)
{
string[] suf = { "B", "KB", "MB", "GB", "TB", "PB", "EB" };
if (byteCount == 0)
{
return "0" + suf[0];
}
long bytes = Math.Abs(byteCount);
int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
double num = Math.Round(bytes / Math.Pow(1024, place), 1);
return (Math.Sign(byteCount) * num).ToString() + " " + suf[place];
}