工作遇到的问题小记(一)
服务器的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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)