gpt4 book ai didi

windows - %date :~-4, 4%%date :~-10, 2%%date :~-7, 2%_%time :~0, 2%%time :~3, 2% 是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 13:20:44 32 4
gpt4 key购买 nike

我有这部分脚本创建一个名为 fileName 的变量,稍后用于命名文件。

set fileName=db_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%.bak

什么是 %date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3, 2% 是什么意思?

最佳答案

在命令提示符窗口中打开并在那里运行 set /?输出命令 SET 的帮助。

在上一个帮助页面上有解释 %DATE%扩展到当前语言环境日期%TIME%解析包含这些环境变量引用的行时的当前语言环境时间

日期和时间的格式取决于 Windows 区域和语言设置。因此需要在命令提示符窗口中执行

echo Date is: %DATE%
echo Time is: %TIME%

或者替代地

echo %DATE% %TIME%

最好在上午 10:00 之前执行,以了解区域设置日期和时间字符串格式。日期是工作日吗?日期字符串中日、月、年的顺序是什么?时间是 12 小时制还是 24 小时制?时间总是两位数小时吗?

并且在命令SET 的输出帮助中也有解释%Variable:~X,Y%从位置 X 获取环境变量字符串的子字符串在字符串中 Y字符长度。

字符串中第一个字符的位置编号(字符索引)0 .
X 的负值表示 X字符串末尾的字符(从右侧开始)。

set fileName=db_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%.bak

定义一个名称为fileName的变量

  • 以固定字符串开始 db_ ,
  • 附加%date:~-4,4%当前语言环境日期的最后 4 个字符,显然是年份,
  • 附加%date:~-10,2%当前语言环境日期右侧的第十和第九个字符,最有可能是月份,
  • 附加%date:~-7,2%当前语言环境日期右侧的第七个和第六个字符,最有可能是这一天,
  • 在格式 YYYYMMDD 的日期之间附加一个下划线作为分隔符和时间格式 HHmm ,
  • 附加%time:~0,2%当前语言环境时间的前 2 个字符,显然是小时,
  • 附加%time:~3,2%当前本地时间的第四和第五个字符,显然是分钟和
  • 附加文件扩展名.bak .

这个带有几个子字符串的变量定义的结果可以通过在命令提示符窗口中执行来验证:

echo db_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%.bak

日期字符串中的子字符串引用是从右侧(字符串结尾)而不是左侧(字符串开头)完成的,以使定义独立于工作日存在或日期字符串开头缺失。

关于windows - %date :~-4, 4%%date :~-10, 2%%date :~-7, 2%_%time :~0, 2%%time :~3, 2% 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147552/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com