工作遇到的问题小记(一)

服务器的Task Scheduler(任务计划程序)切换执行人时遇到,从development.cn切到system时,JOB实际对应的bat命令无法正常启动运行,也不报错

原bat命令代码如下

@echo off
chcp 437set new=%date:/=%
set STRDATE=%new:~8,4%%new:~4,4%set STRDATE=%new:~3,8%
cd D:\SAPInterface\BI\script
call bi_dp2ldw_fot_summary.bat >>..\log\%STRDATE%_bi_dp2ldw_fot_summary.log
exit

问题出在STRDATE的赋值处,

STRDATE想要的格式是yyyyMMdd,

上面的STRDATE两次赋值就是在不同的时区下通过不同的提取逻辑组装出这个固定的日期格式

切换执行账号导致原本的取值失效,通过新的提取逻辑得到正确的日期,

所以这次又切换账号,时区再次变化,导致bat命令无法执行

经过实践,偷懒的解决方法,注释掉第二句既可


set STRDATE=%new:~8,4%%new:~4,4%
rem set STRDATE=%new:~3,8%

 

同事提供的另一个解决方法

for /f "delims=" %%i in ('powershell -command "Get-Date -Format yyyyMMdd"') do set STRDATE=%%i

 

posted @   路小乙  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示