You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell While循环实现每日指定时间启停进程,无需任务计划程序

PowerShell 每日固定时间启停进程实现

以下是修改后的可直接运行的脚本,默认每日17:00(下午5点)执行abc进程的启停操作:

while($true){
    # 设定每日目标执行时间
    $runTime = Get-Date -Hour 17 -Minute 0 -Second 0
    # 若当前时间已超过今日目标时间,自动顺延到次日
    if ($runTime -lt [DateTime]::Now) {
        $runTime = $runTime.AddDays(1)
    }
    # 计算需要休眠的时长
    Start-Sleep -Seconds ($runTime - [DateTime]::Now).TotalSeconds

    # 业务逻辑:启动进程、等待1小时后关闭
    Start-Process "abc"
    Start-Sleep -Seconds 3600
    Get-Process -Name "abc" -ErrorAction SilentlyContinue | Stop-Process -Force
}

可调整参数说明

  • 调整执行时间:修改Get-Date的Hour参数即可,使用24小时制,例如下午2点就改为-Hour 14
  • 调整进程运行时长:修改Start-Sleep -Seconds 3600的数值,单位为秒,例如要运行30分钟就改为1800

注意事项

  • 脚本运行期间不能关闭PowerShell窗口,如需后台隐藏运行,可创建如下vbs脚本调用ps1文件:
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "powershell.exe -ExecutionPolicy Bypass -File ""C:\你的脚本完整路径.ps1""", 0
    
    双击运行vbs文件即可实现后台无窗口执行
  • 如需终止脚本运行,在任务管理器中找到对应PowerShell进程结束即可

内容的提问来源于stack exchange,提问作者windowws

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:48:01