[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2016-6-30 22:59 编辑
  1. @echo off
  2. set "d=201510"
  3. :Loop
  4. set /a m=d%%100, y=d/100+m/12, m=m%%12+101
  5. set "d=%y%%m:~1%"
  6. if %d% LSS 201612 echo;%d%&goto :Loop
  7. pause
复制代码
  1. $d = [DateTime]'2015/10/1'
  2. while(1){
  3.     $d = $d.AddMonths(1);
  4.     if([int]$d.ToString('yyyyMM') -ge 201612){break}
  5.     $d.ToString('yyyyMM')
  6. }
复制代码

TOP

回复 7# GNU


    改了

TOP

另类解:
  1. @echo off & setlocal enabledelayedexpansion
  2. if "%~1" == "1" (
  3.     for /l %%i in (201510 1 201612) do set /a n=%%i-1 & echo;!n!
  4. ) else (
  5.     "%~f0" 1 | more +2 | findstr /e "0[1-9] 1[012]" & pause
  6. )
复制代码
  1. $a=201510..201612; $a[1..($a.length-2)] -match '(0[1-9]|1[012])$'
复制代码

TOP

返回列表