【发布时间】:2019-04-24 02:10:50
【问题描述】:
如果我在 cmd 中输入echo %date%,我会得到今天的日期。假设今天是Wednesday, 21/11/2018。如果我输入echo %date% cmd 将打印Wed 11/21/2018。昨天,它会返回Tue 11/20/2018。这两个日期之间的差异(以天为单位)是1。
有什么方法可以在命令提示符下进行这种减法?比如:
set previous_date=Tue 11/20/2018
echo %date% - %previous_date%
我知道用python 或VBScript 这样的编程语言应该很容易做到这一点,但我不想使用其中任何一种,除非绝对必要。我可以下载和使用自定义命令行工具,但我想使用批处理文件来执行此操作。
谁知道怎么做?
【问题讨论】:
-
有最大天数吗?或者它可以是任何数字?
-
@Aacini 任意号码。即使您没有完整的答案,也只是关于如何完成的想法,请分享。你可能会指出我正确的方向。
-
当两个日期相隔最多一个月时,比较容易获得差异。否则方法更复杂......我会尽快发布部分答案。
-
@Aacini 谢谢等待
-
@Aacini 既然你参与了,我不妨告诉你我为什么需要这个。我的 Startup 文件夹中有一个 bat 文件,该文件每周运行一次。它通过检查当前日期并在其星期一
if %date:~0,1%==M ()运行进程来实现这一点。问题是我需要这个过程每 7 天启动一次AT LEAST。但是,如果说我忘记在特定的星期一打开我的笔记本电脑,它直到下一个星期一才会启动该过程。所以现在我只想将逻辑更改为launch the process if it hasn't been launched for at least 7 days。不管今天是什么日子。
标签: date batch-file cmd