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

如何在PowerShell脚本的URL中动态添加Unix时间戳并定时运行

动态添加Unix时间戳的PowerShell脚本改造及任务计划配置

一、脚本改造实现动态Unix时间戳

要在URL的&from_date参数后自动带入当前时间的Unix时间戳,只需完成时间戳计算和URL动态拼接两步操作,以下是改造后的完整脚本:

# 强制使用TLS 1.2协议,避免SSL/TLS握手失败
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# 计算当前UTC时间对应的Unix时间戳(取整到秒,符合Unix时间标准)
$unixTimestamp = [Math]::Floor((Get-Date).ToUniversalTime() - (Get-Date "1970-01-01")).TotalSeconds

# 拼接带有动态时间戳的目标URL
$targetUri = "https://xxxxx&from_date=$unixTimestamp"

# 生成带时间戳的输出文件名(改用24小时制格式,避免同日文件名重复)
$outputPath = "C:\IMPORT\xxx_$(Get-Date -Format yyyy_MM_dd_HH_mm_ss).xml"

# 执行XML下载
Invoke-WebRequest -Uri $targetUri -OutFile $outputPath

关键细节说明

  • Unix时间戳计算:Unix时间以1970-01-01 UTC为起点,因此用ToUniversalTime()确保时间基准正确,Math.Floor用于去除小数部分,保证输出整数秒数。
  • URL动态拼接:通过变量$unixTimestamp替换原脚本中固定的时间戳值,实现每次运行时自动带入当前时间的Unix秒数。
  • 文件名优化:将原脚本中的hh(12小时制)改为HH(24小时制),避免同一日期内上午/下午生成重复文件名。

二、Windows任务计划程序运行配置

要让脚本自动定时运行,按以下步骤配置任务计划:

  • 创建任务:打开「任务计划程序」,点击「创建任务」,设置任务名称和描述。
  • 设置触发器:切换到「触发器」标签,点击「新建」,配置脚本的运行频率(如每日、每小时)和具体执行时间。
  • 配置操作:切换到「操作」标签,点击「新建」:
    • 程序/脚本:填入powershell.exe
    • 添加参数:填入-ExecutionPolicy Bypass -File "C:\你的脚本存放路径\脚本名.ps1"(替换为实际脚本路径)
  • 权限配置:在「常规」标签中,选择拥有C:\IMPORT目录读写权限的账户运行任务,避免因权限不足导致下载失败。
  • 验证运行:创建完成后,右键任务选择「运行」,检查C:\IMPORT目录是否生成目标XML文件,确认脚本执行正常。

内容的提问来源于stack exchange,提问作者Martin Jašek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:25:22