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

求按日期生成月/日层级文件夹并处理xlsx文件的Batch脚本优化方案

Batch脚本优化方案

优化后脚本

解决原脚本硬编码月份路径、不同系统区域格式下日期提取异常的问题,自动判断创建所需的月份/日期文件夹:

@echo off
setlocal enabledelayedexpansion

:: 调用WMIC获取标准化日期,不受系统日期格式设置影响
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "year=%dt:~0,4%"
set "month=%dt:~4,2%"
set "day=%dt:~6,2%"
set "year_short=%dt:~2,2%"

:: 月份缩写映射,匹配你原有文件夹命名规则「数字.月份缩写'两位年」
set "month_map=01=Jan 02=Feb 03=Mar 04=Apr 05=May 06=Jun 07=Jul 08=Aug 09=Sep 10=Oct 11=Nov 12=Dec"
for %%m in (%month_map%) do (
    for /f "tokens=1,2 delims==" %%i in ("%%m") do (
        if "%%i"=="%month%" set "month_abbr=%%j"
    )
)

:: 拼接目标路径
set "month_dir=%month%.%month_abbr%'%year_short%"
set "day_dir=%year%-%month%-%day%"
set "full_target_path=%month_dir%\%day_dir%"

:: 自动创建不存在的层级文件夹
if not exist "%month_dir%" mkdir "%month_dir%"
if not exist "%full_target_path%" mkdir "%full_target_path%"

:: 移动文件,如需保留源文件仅做拷贝,可将下方move改为 xcopy /y
move /Y "1.Dump\*.xlsx" "%full_target_path%\"

endlocal

自动运行配置方法

无需每日手动触发,通过Windows自带任务计划程序配置定时执行即可:

  • 按下Win+R组合键,输入taskschd.msc后回车打开任务计划程序
  • 点击右侧「创建基本任务」,自定义任务名称(如“每日归档Xlsx文件”)后点击下一步
  • 触发器选择「每日」,设置你需要脚本自动运行的时间点,点击下一步
  • 操作选择「启动程序」,浏览选中你保存上述代码的.bat文件,点击下一步
  • 勾选「点击完成时打开此任务属性对话框」,确认后进入属性页,勾选「不管用户是否登录都要运行」、「使用最高权限运行」避免权限不足导致执行失败,保存即可

注意事项

  • 若你的月份文件夹命名规则和默认映射不同,可自行修改month_map变量内的对应关系
  • 路径包含空格时需要用英文双引号包裹,避免脚本识别路径出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:45:01