当前位置: 首页 > news >正文

PowerShell定时检查日期执行Python脚本

PowerShell语句每半小时检查一次当前的日期,如果当前的日期是开始运行时日期的第2天,则自动运行一段Python语句。

# 记录脚本开始运行的日期(仅日期部分)
$startDate = (Get-Date).Date# 计算目标日期(开始日期的第二天)
$targetDate = $startDate.AddDays(1)# 每半小时检查一次日期
while ($true) {# 获取当前日期(仅日期部分)$currentDate = (Get-Date).Date# 检查是否达到目标日期if ($currentDate -eq $targetDate) {# 执行Python代码(替换为你的实际Python命令)python -c "print('Hello from Python! Today is ' + str(__import__('datetime').datetime.now()))"# 可选:执行后退出循环break}# 如果当前已超过目标日期,则退出循环(避免无限循环)elseif ($currentDate -gt $targetDate) {Write-Host "Target date has passed. Exiting."break}# 等待30分钟(1800秒)Start-Sleep -Seconds 1800
}

使用说明:

  1. 替换Python代码:将示例中的Python命令 python -c "print(...)" 替换为你需要执行的实际Python命令

    • 运行脚本文件:python C:\path\to\your_script.py
    • 执行单行命令:python -c "your_code_here"
  2. 运行方式

    • 保存为 .ps1 文件(如 CheckDate.ps1
    • 在PowerShell中执行:
      Set-ExecutionPolicy RemoteSigned -Scope Process  # 临时允许脚本执行
      .\CheckDate.ps1
      
  3. 后台运行(可选):
    使用任务计划程序创建计划任务,设置:

    • 触发器:登录时或系统启动时
    • 操作:启动PowerShell进程
    • 参数:-WindowStyle Hidden -File "C:\path\to\CheckDate.ps1"

关键逻辑说明:

  1. $startDate 记录脚本首次运行的日期(去除时间部分)
  2. $targetDate 是开始日期的下一天
  3. 每30分钟检查一次当前日期
  4. 当检测到当前日期等于目标日期时:
    • 执行指定的Python命令
    • 执行后自动退出(通过 break 语句)
  5. 如果当前日期已超过目标日期(如脚本未及时触发),自动退出

注意:脚本会持续运行直到日期条件满足。如需长期后台运行,建议结合Windows任务计划程序实现开机启动。

http://www.dtcms.com/a/338158.html

相关文章:

  • 决策树的学习
  • 【EI会议征稿】2025第四届健康大数据与智能医疗国际会议(ICHIH 2025)
  • 基于STM32的电动车智能报警系统设计与实现
  • <数据集>遥感飞机识别数据集<目标检测>
  • rsync scp无法使用,踩坑破解之道!
  • 代理模式深度解析:从静态代理到 Spring AOP 实现
  • WAIC点燃人形机器人热潮,诠视SeerSense® DS80:多感融合的空间感知中枢,重新定义机器三维认知
  • 8月更新!Windows 10 22H2 64位 五合一版【原版+优化版、版本号:19045.6159】
  • 红日靶场01<超水版>
  • IDEA的创建与使用(2017版本)
  • 如何用企业微信AI 破解金融服务难题?
  • [Code Analysis] docs | Web应用前端
  • 深入解析:如何设计灵活且可维护的自定义消息机制
  • Spring AI + MCP Client 配置与使用详解
  • 专业高效的汽车部件FMEA解决方案--全星FMEA软件系统在汽车部件行业的应用优势
  • 百胜软件亮相CCDS2025-中国美妆数智科技峰会,解码美妆品牌数智化转型新路径
  • 【C语言16天强化训练】从基础入门到进阶:Day 2
  • 氯化铈:绿色科技的推动力
  • Tomcat Context的核心机制
  • LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测)
  • 【Goland】:Map
  • Golang資源分享
  • 第一阶段C#基础-13:索引器,接口,泛型
  • 线性调频信号(LFM)在雷达中的时域及频域MATLAB编程
  • 基于SFM的三维重建MATLAB程序
  • 分析慢查询
  • PPIO Agent沙箱:兼容E2B接口,更高性价比
  • 【DL学习笔记】损失函数各个类别梳理
  • STM32使用WS2812灯环
  • 中科米堆CASAIM自动蓝光三维测量系统检测金属结构零件尺寸