【问题标题】:Batch - Get the date from 8 days from now [duplicate]批处理 - 从现在起 8 天后获取日期 [重复]
【发布时间】:2020-11-04 05:24:29
【问题描述】:

我正在尝试获取 8 天后的日期,以便在树结构中导航。

我用过这个,但我在新月初遇到了问题(我得到一个负数,这是合乎逻辑的):

set annee=%date:~6,4%
set mois=%date:~3,2%
set jour=%date:~0,2%
set /a j8=%jour%-8

cd %annee%\%mois%\%j8%

您有解决我问题的方法吗? 提前致谢。

【问题讨论】:

  • see here,对于这种常见问题类型的许多现有解决方案之一,请删除此重复问题
  • @T3RR0R 非常感谢!我还没有很好地表达我的研究……我有一个关于剧本的问题。我真的不明白它是如何工作的以及如何使用它:/
  • 脚本开头解释了使用要求。使用 2 个参数调用脚本。 Arg 1:当前日期 Arg 2:偏移值的整数值。日期偏移量的计算是使用批处理创建的 vbs 脚本完成的,该脚本使用作为 args 传递的值
  • 好的,谢谢。它对我不起作用,但我认为我做错了什么(我不擅长批处理脚本)。我会测试一些东西。

标签: date batch-file


【解决方案1】:

最简单的方法是使用嵌入 jscript 的多语言脚本。 这是只接受一个参数的dayAdder.bat - 您要添加到当前日期并打印结果的天数:

  @if (@X) == (@Y) @end /* JScript comment 
    @echo off   
    cscript //E:JScript //nologo "%~f0" %*
    exit /b %errorlevel%       
@if (@X)==(@Y) @end JScript comment */

var days=parseInt(WScript.Arguments.Item(0));


Date.prototype.addDays = function(days) {
    var date = new Date(this.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}

var date = new Date();

WScript.Echo(date.addDays(5));
WScript.Echo("Year: " + date.getFullYear());
WScript.Echo("Month: " + date.getMonth());
WScript.Echo("DayOfTeWEek: " + date.getDay());

示例:

E:\scripts>dayAdder.bat 7
Sun Nov 8 16:27:48 UTC+0200 2020
Year: 2020
Month: 10
DayOfTeWEek: 2
DayOfTheMonth: 3

您可以以适合您的方式对其进行修改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多