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

批处理脚本需求:每日复制昨日日期命名的Excel文件为今日日期名

批处理实现每日复制昨日Excel文件并重命名为今日日期

原代码存在的问题

  • 日期计算逻辑错误:直接将日期字符串当作数字执行-1运算完全不符合日期规则。比如1月1日的前一天是去年12月31日、6月1日的前一天是5月31日,这种数字减法根本无法处理月末、年末的边界情况,会生成错误的文件名。
  • 冗余分割逻辑:powershell Get-Date -Format "ddMMyyyy"输出的是无分隔符的日期字符串(如12122023),但代码中用tokens=1-3 delims=/做分割操作,这完全没必要——输出里没有/分隔符,导致%%b和%%c都是空值,虽然后续today变量结果碰巧正确,但逻辑冗余且混乱。
  • 后缀笔误:原代码将目标文件后缀写成.xls,与源文件的.xlsx不一致,会导致文件格式变更。

修正后的批处理代码

@echo off
:: 获取今日日期,格式为ddMMyyyy
for /f %%a in ('powershell Get-Date -Format "ddMMyyyy"') do set "today=%%a"
:: 获取昨日日期,格式为ddMMyyyy
for /f %%a in ('powershell (Get-Date).AddDays(-1) -Format "ddMMyyyy"') do set "yesterday=%%a"

:: 执行复制操作,保持文件后缀一致
copy "DT%yesterday%.xlsx" "DT%today%.xlsx"

代码说明

  • 借助PowerShell的(Get-Date).AddDays(-1)直接计算前一天的日期,完美处理所有日期边界情况,确保日期逻辑完全正确。
  • 移除冗余的字符串分割逻辑,直接获取PowerShell输出的完整日期字符串,代码更简洁清晰。
  • 修正了目标文件的后缀,保持与源文件一致为.xlsx。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:59:56