batch-file - 为什么批处理文件中的日期时间格式会给出不同的结果?
问题描述
我有一个批处理文件,它在运行时会创建一些源代码文件夹的备份。对于后备文件名,它会创建一个由当前日期时间组成的字符串。
要获取日期时间字符串,请使用以下代码段。
SET isodt=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %isodt%
pause
在我的笔记本电脑上运行时,它会给出以下输出:
2019_09_12__14_25_01
最近我在虚拟机上运行它,它为我提供了相同代码的以下输出。
2019_ 0_Th__14_18_18
为什么输出不一样?两者都在 Windows 10 64 位机器上运行。
解决方案
有很多方法可以获得不依赖 PC/区域设置的日期和时间,这里有一个:
@Echo Off
Set "isodt="
For /F "Tokens=1-6 Delims=/: " %%A In ('RoboCopy/NJH /L "\|" Null'
) Do If Not Defined isodt Set "isodt=%%A_%%B_%%C__%%D_%%E_%%F"
If Not Defined isodt Exit /B
推荐阅读
- asp.net - ASP.NET Core 多线程后台线程
- google-apps-script - 过滤时方法签名更改
- c# - 为什么 Graphics.DrawImage() 会改变颜色(不使用调整大小)?
- mongodb - MongoDB聚合使用不能在一起的对列表查找文档对
- python - 如何从多列中删除包括 0 在内的所有正数并使用 pandas 保留行?
- c# - 查找包含在不同类型双引号中的字符串
- python - 将值从 df 列的第 2 行复制到第 1 行(使用日期时间索引)
- ios - 在 UITableViewCell 的 awakeFromNib 中无法访问 IBOutlet
- jenkins - 如何限制 Jenkins 访问特定的 github 组织?
- firebase - SwiftUI / Firebase:我可以使用@Published 向 Firebase 数据库发送和接收单个值吗?