我正在尝试提供一种扫描文件夹的服务。当它检测到某些文件时,会重命名它们,然后为脚本的其余部分创建变量。一切正常,但是我试图找到一种运行此脚本的方法,以便将其启动的后续窗口最小化。我已经尝试过以下方法,但是2个脚本仍然会启动一个窗口,每个窗口都会在屏幕上闪烁。
我尝试将文件转换为EXE和服务,但随后它拒绝工作。希望有谁能提供快速的一线服务?
Set-Location -Path C:\scripts\ICVT
while ($true) {
invoke-expression 'cmd /c start powershell -WindowStyle Minimized -Command {.\file_checker.ps1}';
Start-Sleep 5
invoke-expression 'cmd /c start powershell -WindowStyle Minimized -Command {.\kill_checker.ps1}';
Start-Sleep 5
}
答案 0 :(得分:0)
听起来像您需要使用Start-Job
在后台运行脚本。只需将Invoke-Expression
替换为Start-Job
:
Set-Location -Path C:\scripts\ICVT
while ($true) {
Start-Job -FilePath '.\file_checker.ps1}';
Start-Sleep 5
Start-Job -FilePath '.\kill_checker.ps1}';
Start-Sleep 5
}
它也将接受脚本块。有关运行和管理后台作业的更多信息,请参见about_jobs。