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

如何通过PowerShell获取上一个工作日并匹配指定FTP下载文件

获取上一个工作日并匹配目标文件(PowerShell)

直接给你能落地的解决方案,先解决上一个工作日的日期计算问题,再结合你的文件匹配需求:

1. 获取上一个工作日的日期字符串(格式yyyyMMdd)

$today = Get-Date
# 根据当前星期几计算上一个工作日
switch ($today.DayOfWeek) {
    Monday { $lastWorkDay = $today.AddDays(-3) } # 周一的上一个工作日是上周五,需减3天
    default { $lastWorkDay = $today.AddDays(-1) } # 周二到周日直接减1天(周日减1天是周六,但文件仅工作日生成,无需额外处理)
}
# 转换成文件名需要的日期格式
$lastWorkDayStr = $lastWorkDay.ToString("yyyyMMdd")

2. 匹配目标文件

拿到日期字符串后,拼接文件名并检查C:\files\目录下的对应文件:

$targetFilePath = "C:\files\sampl_position_$lastWorkDayStr"
if (Test-Path $targetFilePath) {
    Write-Host "找到目标文件:$targetFilePath"
    # 这里可以添加你后续要执行的操作,比如读取文件、处理数据等
} else {
    Write-Host "未找到目标文件:$targetFilePath"
}

简洁版表达式参考

如果想要像你之前的下一个工作日代码那样用简洁表达式,也可以这么写(逻辑和上面一致,只是可读性稍弱):

$lastWorkDay = (Get-Date).AddDays(-$(1 + @{Monday=2; default=0}[(Get-Date).DayOfWeek]))
$lastWorkDayStr = $lastWorkDay.ToString("yyyyMMdd")

内容的提问来源于stack exchange,提问作者Роман Рослый

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 03:36:21