原因
今天新上了一台服务器,结果部署的Bat运维脚本执行报错,分析发现是由于windows中文版与英文版里默认的%date%时间变量的格式不同导致的。
对策
时间变量格式不同,解决对策有2种:
- 专门写一个针对英文版的Bat脚本,重新部署就好了。
- 调整各服务器的时间格式,让他们保持一致。
解决
考虑到每个语言写一个版本以后维护起来每个版本都得改一遍,耗费的额外搬砖级工作量不太值得,优先选择第二种方法。
修改路径,在英文系统中:settings → Time&Language → Region
Country or region 改成 China
Region format 改成 Chinese(Simplified, China)
注意点击:Regional format data下的“Change data formats”
Calendar = 公历
First day of week = 星期一
Short date = YYYY/MM/DD 注意这里把月份和日期的0选出来,也就是选成2022/11/04
Short time 和 Long time 也一样把0选出来,这样在代码里截取字段时更容易处理些。