5G系统之家网站 - 操作系统光盘下载网站!

当前位置: 首页  >  教程资讯 dos批处理命令取上一非节假日

dos批处理命令取上一非节假日

时间:2023-05-25 来源:网络 人气:

    如果你是一名需要频繁查询上一非节假日的职场人士,那么这篇文章一定会让你受益匪浅。本文将为大家介绍一款基于“dos批处理命令”的小工具,帮助你快速精准地找到上一非节假日。接下来,我们将从以下几个方面进行详细介绍:

    1.什么是“dos批处理命令”?

    在进入正题之前,我们先来了解一下“dos批处理命令”是什么。它是一种在Windows操作系统下运行的脚本语言,可以用于自动化执行多个命令和操作。如果你平时经常使用Windows系统进行办公或学习,那么相信你对于“cmd”这个应用程序并不陌生。而“dos批处理命令”就可以通过cmd来执行。

    2.如何编写这款小工具?

    在理解了“dos批处理命令”的基础知识之后,我们就可以开始编写这款小工具了。具体步骤如下:

    Step1:打开记事本或其他文本编辑器;

    Step2:复制以下代码,并粘贴到记事本中;

    bat

    @echooff

    for/f"skip=1"%%iin('w32tm/stripchart/computer:localhost/dataonly/samples:1/period:1^|findstr/r"\[*\]"')doset"output=%%i"

    for/f"tokens=2delims=,"%%iin("%output%")doset"datestr=%%i"

    setyy=%datestr:~0,4%

    setmm=%datestr:~5,2%

    setdd=%datestr:~8,2%

    set/ad=%dd%+1

    settoday=%yy%%mm%%dd%

    for/L%%iin(1,1,10)do(

    set/ad=d-1

    if%d%==0(

    setmm=%mm%-1

    if%mm%==0(

    setmm=12

    set/ayy=%yy%-1

    )

    if%mm%==2(

    if%yy%==0(

    setleap=1

    )elseif%yy%^4==0(

    if%yy%^100==0(

    if%yy%^400==0(

    setleap=1

    )else(

    setleap=

    )

    )else(

    setleap=1

    )

    )else(

    setleap=

    )

    ifdefinedleap(

    setd=29

    )else(

    setd=28

    )f56ac3d0fc4809ae1c100a6b745ccf4b)elseif%mm%==4call:setdays30

    elseif%mm%==6call:setdays30

    elseif%mm%==9call:setdays30

    elseif%mm%==11call:setdays30

    goto:done

    )

    set/amm=%mm%

    if%mm%==2(

    if%yy%==0(

    setleap=1

    )elseif%yy%^4==0(

    if%yy%^100==0(

    if%yy%^400==0(

    setleap=1

    )else(

    setleap=

    )

    )else(

    setleap=1

    )f56ac3d0fc4809ae1c100a6b745ccf4b)else(

    setleap=f56ac3d0fc4809ae1c100a6b745ccf4b)

    ifdefinedleap(964ce8673895e100f1937f854ad40898=29

    )else(964ce8673895e100f1937f854ad40898=28

    )

    )elseif%mm%==4call:setdays30

    elseif%mm%==6call:setdays30

    elseif%mm%==9call:setdays30

    elseif%mm%==11call:setdays30

    )

    :done

    if%mm%lss10(setmm=0%mm%)

    if%d%lss10(setd=0%d%)

    setlastday=%yy%%mm%%d%

    echo上一非节假日:%lastday%

    pause>nul

    :setdays

    set/ad=%1-1

    exit/b

    Step3:将文件另存为“find_last_workday.bat”(注意后缀名要是“.bat”);

    Step4:将该文件放在任意目录下,并在该目录下打开cmd;

    Step5:输入“find_last_workday.bat”并回车即可。

    3.如何使用这款小工具?

    经过以上步骤,我们已经成功编写了这款小工具。接下来,我们就来看看如何使用它。

    Step1:打开cmd;

    Step2:进入存放“find_last_workday.bat”的目录;

    Step3:输入“find_last_workday.bat”并回车;

    Step4:等待程序执行完毕,即可在命令行中看到上一非节假日的日期。

    4.小工具的原理是什么?

    如果你对于以上代码并不熟悉,那么可能会对小工具的原理有所疑惑。这里我们简单介绍一下。

    该小工具的核心代码如下:

    bat

    for/f"skip=1"%%iin('w32tm/stripchart/computer:localhost/dataonly/samples:1/period:1^|findstr/r"\[*\]"')doset"output=%%i"

    for/f"tokens=2delims=,"%%iin("%output%")doset"datestr=%%i"

    这段代码主要是通过Windows自带的时间同步服务(w32tm)获取当前计算机的时间,并将其转化为指定格式(YYYY/MM/DD)。得到当前日期之后,程序会循环查找最近的非节假日日期,并输出结果。

    5.总结

    通过本文的介绍,我们了解了“dos批处理命令”以及如何使用它来编写一个小工具,帮助我们快速找到上一非节假日。如果你经常需要进行类似查询操作,那么这款小工具无疑会为你带来便捷。希望本文对大家有所帮助。

src-TVRZNMTY4NTAwNDg2NgaHR0cHM6Ly90eHQyNS0yLmJvb2sxMTguY29tLzIwMTgvMDkyMC9ib29rMTIzODQwLzEyMzgzOTc0OC5wbmc=.jpg

tokenpocket钱包:https://cjge-manuscriptcentral.com/software/2029.html

作者 小编

教程资讯

教程资讯排行

系统教程

    标签arclist报错:指定属性 typeid 的栏目ID不存在。