如何在Windows任务计划程序中为Excel传递当日日期命令行参数
在Windows任务计划中给Excel命令行添加当日日期参数
解决步骤
1. 编写批处理脚本替代直接调用Excel
创建一个后缀为.bat的批处理文件(比如LaunchExcelWithDate.bat),内容如下:
@echo off :: 格式化日期为MM-DD-YYYY格式(根据系统区域调整) :: 英文系统区域(日期格式为MM/DD/YYYY 星期)用下面这行 set "formatted_date=%date:~4,2%-%date:~7,2%-%date:~10,4%" :: 中文系统区域(日期格式为YYYY/MM/DD 星期)替换为下面这行 :: set "formatted_date=%date:~5,2%-%date:~8,2%-%date:~0,4%" :: 调用Excel并传递带日期的参数 "C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE" "C:\File\Path\MyMacroEnabledFile.xlsm" /e/Arg1,Arg2,%formatted_date%
2. 调整任务计划配置
- 程序/脚本:填写批处理文件的完整绝对路径,例如
"C:\Your\Script\Path\LaunchExcelWithDate.bat" - 附加参数(可选):保持为空,所有参数已在批处理中定义
原方法无效的原因
任务计划程序的「附加参数」字段无法直接解析CMD的环境变量(如%date%),其参数解析逻辑与CMD终端不同。通过批处理脚本中转,才能正常调用CMD的环境变量并格式化日期,保证参数正确传递。
效果验证
任务运行后,打开任务管理器查看Excel进程的命令行,会显示包含指定日期格式的参数,示例如下:
"C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE" "C:\File\Path\MyMacroEnabledFile.xlsm" /e/Arg1,Arg2,03-30-2024
内容的提问来源于stack exchange,提问作者j2associates
相关产品推荐
相关产品推荐

