Как закрыть графический интерфейс формы после проверки существующего файла в powershell?
Я хочу проверить существующий файл, если процесс все еще ждет файл, он отобразит окно графического интерфейса. После того, как файл будет существовать, окно автоматически закроется.
Я попробовал этот код, окно не может закрыться, даже файл уже существует.
Что я уже пробовал:
Checking the file: $SN = "708TSTA" $MAC = "2E5961370" function Find { $n = 0 while (-not (Get-ChildItem -Name "D:\SERVER\" | Where-Object {$_ -like "*$SN-$MAC*"})) { Start-Sleep -s 1 D:\Auto\GUI.ps1 $n++ (Get-ChildItem -Name "D:\SERVER\" | Where-Object {$_ -like "*$SN-$MAC*"}) Write-Host "Attempt no $n" } Write-Host ">>Flag found after $n attempts" return $true } if (Find) { Write-Host "Found" }
GUI.ps1: Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.Application]::EnableVisualStyles() $Form = New-Object System.Windows.Forms.Form $Form.ClientSize = '578,400' $Form.Text = "Form" $Form.BackColor = "#c1daf7" $Form.WindowState = 'Maximized' $Form.FormBorderStyle = "FixedDialog" $Label1 = New-Object System.Windows.Forms.Label $Label1.Text = "UNDER PROCESS" $Label1.AutoSize = $true $Label1.Width = 25 $Label1.Height = 10 $Label1.Location = New-Object System.Drawing.Point(600,300) $Label1.Font = 'Microsoft Sans Serif,30,style=Bold,Underline' $Label1.ForeColor = "#d0021b" $Label2 = New-Object System.Windows.Forms.Label $Label2.Text = "WAITING" $Label2.AutoSize = $true $Label2.Width = 25 $Label2.Height = 10 $Label2.Location = New-Object System.Drawing.Point(770,500) $Label2.Font = 'Microsoft Sans Serif,20,style=Bold' $Label2.ForeColor = "#fb0505" $Check = Get-ChildItem -Name "D:\SERVER\" | Where-Object {$_ -like "*$SN-$MAC*"} if($Check) { Write-Host "File Exist" $Form.Close() } $Form.Controls.AddRange(@($Label1,$Label2)) [void]$Form.ShowDialog()