需要批量编程代码说明

时间:2015-08-05 11:50:35

标签: batch-file

我正在尝试理解我在网上找到的批处理脚本,该代码旨在检查当月的最后一天,如果条件为真,则终止脚本。

下载代码的副本。

padding-left

然而,我理解除了以下两行之外的所有代码。

padding-right

当我尝试回声跳跃变量的内容时,我一直得到2,但如果我老实说不明白它怎么会得到0?

任何有关此建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

%%表示模数,因为每个闰年相隔4年,例如2012年(飞跃),2013,2014,2015,2016(第2次飞跃),如果闰年的价值为0,那么在另一个闰年之前的去年的价值是4.(想想一个数组,[0,1, 2,3,5],0到4相隔5个数字)。因此,2016年是另一个闰年,因为它的值4是从0开始的第5个数字 如果你仍然困惑为什么modulo 4?因为闰年除以4是0,所以正如我之前所说,0表示闰年。

答案 1 :(得分:0)

看起来%leap%变量用于检查一年是否是闰年。只有echo %leap%才会获得2,因为2015 % 3将始终为2.

似乎检查它是否是闰年的逻辑是有缺陷的。一般的方法是

  
      
  1. 如果年份可被4整除,请转到步骤2.否则,请转到步骤5.
  2.   
  3. 如果年份可以被100整除,请转到步骤3.否则,请转到步骤4.
  4.   
  5. 如果年份可以被400整除,请转到步骤4.否则,请转到步骤5.
  6.   
  7. 这一年是闰年(它有366天)。
  8.   
  9. 这一年不是闰年(它有365天)。
  10.   

source