首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用FOR /L循环遍历在批处理文件中当前月份递减的一年中的月份

使用FOR /L循环遍历在批处理文件中当前月份递减的一年中的月份,可以通过以下方式实现:

代码语言:txt
复制
@echo off
setlocal enabledelayedexpansion

rem 获取当前日期的年份和月份
for /f "tokens=1,2 delims=/ " %%a in ('date /t') do (
    set "current_year=%%b"
    set "current_month=%%a"
)

rem 将当前月份转换为数字
if "%current_month%"=="Jan" set "current_month=1"
if "%current_month%"=="Feb" set "current_month=2"
if "%current_month%"=="Mar" set "current_month=3"
if "%current_month%"=="Apr" set "current_month=4"
if "%current_month%"=="May" set "current_month=5"
if "%current_month%"=="Jun" set "current_month=6"
if "%current_month%"=="Jul" set "current_month=7"
if "%current_month%"=="Aug" set "current_month=8"
if "%current_month%"=="Sep" set "current_month=9"
if "%current_month%"=="Oct" set "current_month=10"
if "%current_month%"=="Nov" set "current_month=11"
if "%current_month%"=="Dec" set "current_month=12"

rem 循环遍历递减的一年中的月份
for /L %%i in (%current_month%,-1,%current_month%-11) do (
    rem 将数字月份转换为英文缩写
    if %%i==1 set "month=Jan"
    if %%i==2 set "month=Feb"
    if %%i==3 set "month=Mar"
    if %%i==4 set "month=Apr"
    if %%i==5 set "month=May"
    if %%i==6 set "month=Jun"
    if %%i==7 set "month=Jul"
    if %%i==8 set "month=Aug"
    if %%i==9 set "month=Sep"
    if %%i==10 set "month=Oct"
    if %%i==11 set "month=Nov"
    if %%i==12 set "month=Dec"

    echo !month!
)

这段批处理脚本首先获取当前日期的年份和月份,然后将当前月份转换为数字。接下来,使用FOR /L循环从当前月份开始递减,遍历一年中的月份。在循环中,将数字月份转换为英文缩写,并输出结果。

这个脚本可以用于批处理文件中需要处理一年中递减的月份的场景,例如生成一年中每个月份的报告文件名或执行一年中每个月份的特定任务等。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性计算能力,满足各种业务需求。产品介绍
  • 云数据库 MySQL 版:可靠、可扩展的关系型数据库服务。产品介绍
  • 云存储(COS):安全、稳定、低成本的云端对象存储服务。产品介绍
  • 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,帮助开发者快速构建人工智能应用。产品介绍
  • 物联网通信(IoT Hub):提供稳定可靠的设备连接和消息通信服务,支持海量设备接入。产品介绍
  • 腾讯云区块链服务(Tencent Blockchain):提供高性能、高可用的区块链服务,帮助企业快速搭建区块链应用。产品介绍
  • 腾讯云元宇宙服务(Tencent Metaverse):提供全面的元宇宙解决方案,助力企业构建虚拟世界。产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

hive sql(四)—— 所有用户今年10月份次购买商品金额

需求 请用sql写出所有用户今年10月份次购买商品金额,表order字段: (购买用户:userid, 金额:money, 购买时间:paymenttime(格式:2017-10-01), 订单...row(s) 分析 1、date_format只能支持日期格式,比如2021-03-30 2、date_format(current_date(),"yyyy-10")是用yyyy取出年份,10是给默认值...,其他玩法见扩展部分 3、所有用户10月份次购买,从需求来看,是对每个用户分组,对购买时间排序,所以这里需要对用户开窗,因为是第次购买,所以排序是是正序 4、这里从数据来看,购买时间是日期,不是时间...,也就是说用户可能在同天购买多次,如果是这样,则要求购买时间是时间类型,精确到秒 5、这里数据性是通过时间约束,所以不用去重 6、这里是个正确写法,先过滤数据,减少数据集——预处理、预聚合会让数据处理阶段更清晰...,个子查询实现多种和阶段处理,需要衡量效率来决定,后面把这部分拿出来做个对比分析 7、这里order是关键字,所以用`号 扩展 date_format扩展玩法 hive (default)> select

93420

Java基础入门之SimpleDateFormat类和List接口

从上面代码,G表示是纪元标记,四个yyyy表示年份,如2020年;如果是两个yy表示是年份,如20;MM表示月份,如10;dd表示天数,如24;HH表示是小时数,如09;mm表示分钟数,如...46;ss表示秒数,如09;D表示年中日子,如298。...二、List接口 ()List是个有序集合、可重复集合。它是继承Collection接口,List集合是可以出现重复元素,可以通过索引(下标)来访问指定位置元素。...2.LinkedList类是集合新增元素和删除元素效率比较好,该集合里面维护个双向循环链表,链表个元素可以引用方式记下前个元素和后个元素,把所有的元素连接起来就可以了。...从上面代码使用foreach循环遍历集合所有元素比较方便,没有循环条件,它循环次数是元素个数,当每次循环,通过它元素变量记下当前循环元素,然后把集合元素输出来。

74730

bat批处理 for循环_批处理 for f

、前言 批处理,for是最为强大命令语句,它出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能;配合if、call、 goto等流程控制语句,更是可以实现脚本复杂自动化、...: For %i in (1 2 3) do @echo %i 之所以要区分cmd窗口和批处理文件两种环境,是因为在这两种环境下,命令语句表现出来行为虽然基本样,但是细节上还是稍有不同。...最明显个差异就是:cmd窗口中,for之后形式变量I必须使用单百分号引用,即%i;而在批处理文件,引用形式变量i必须使用双百分号,即%%i。...command2参与了command2运行;当执行完次do后语句之后,再提取 command1个元素,再执行次command2,如此循环,直到command1所有元素都已经被提取完毕...见识下for真正威力,检测当前硬盘都有哪些分区: @echo off set str=c d e f g h i j k l m n o p q r s t u v w x y z echo current

5.1K20

java calendar 设置小时_Java Calendar.set 方法设置时间问题

大家好,又见面了,我是你们朋友全栈君。 因项目需要,需要遍历年中其中几个月,获得每个月用户数量。 变量有:开始时间–startDate,结束时间–endDate。...逻辑很简单:获取到开始时间月份和结束时间月份,然后得到月份差值,进行for循环遍历遍历时候判断用户注册时间是否在这个月里,然后得出结果。 关键就在于:判断用户注册时间是否在这个月里。...好了,逻辑清楚了,问题来了:怎么获取每个月份最大时间(每个月最后天、最后小时、最后分钟、最后秒)呢?...比如:每月最多有几天,每天最多几个小时等等 这样就得到了已知时间单位时间(每个月)内最大值。同理单位时间为每天的话,类似的道理。 这还没完呢。...解决办法是:使用Calendar.add(int field, int amount); 第个参数是 字段(月份,天,小时..),第二个参数是 增量。

1.5K10

PHP函数之日期时间函数date()详解

,如: "0" (星期日) 至 "6" (星期六) Y - 年,四位数字; 如: "1999" y - 年,二位数字; 如: "99" z - 年中第几天; 如: "0" 至 "365" ----...J,只有小写j表示月份日期,无前导o;若需要月份带前导则使用小写d。...,布尔值,为真返回1,否则为0; 小写l表示当天是星期几英文全写(Tuesday); 而使用大写D表示星期几3个字符缩写(Tue)。...echo date('w'); 今天星期:2 echo date('W'); 本周是全年中第 06 周 小写w表示星期几,数字形式表示 大写W表示年中星期数 echo date('t'); 本月是...28 天 echo date('z'); 今天是今年第 36 天 小写t表示当前月份又多少天 小写z表示今天是本年中第几天 ---- 4.其他 echo date('U'); 1170769424

2.6K10

PHP格式化显示时间date()函数代码

使用下列字符: d – 个月中第几天(从 01 到 31) D – 星期几文本表示(用三个字母表示) j – 个月中第几天,不带前导零(1 到 31) l(’L小写形式)- 星期几完整文本表示...与 j 搭配使用) w – 星期几数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z – 年中第几天(从 0 到 365) W – 用 ISO-8601 数字格式表示年中星期数字...(用三个字母表示) n – 月份数字表示,不带前导零(1 到 12) t – 给定月份包含天数 L – 是否是闰年(如果是闰年则为 1,否则为 0) o – ISO-8601 标准下年份数字 Y...与 j 搭配使用) w – 星期几数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z – 年中第几天(从 0 到 365) W – 用 ISO-8601 数字格式表示年中星期数字...(用三个字母表示) n – 月份数字表示,不带前导零(1 到 12) t – 给定月份包含天数 L – 是否是闰年(如果是闰年则为 1,否则为 0) o – ISO-8601 标准下年份数字 Y

4K31

PHP格式化显示时间date()函数代码

使用下列字符: d – 个月中第几天(从 01 到 31) D – 星期几文本表示(用三个字母表示) j – 个月中第几天,不带前导零(1 到 31) l(’L小写形式)- 星期几完整文本表示...与 j 搭配使用) w – 星期几数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z – 年中第几天(从 0 到 365) W – 用 ISO-8601 数字格式表示年中星期数字...(用三个字母表示) n – 月份数字表示,不带前导零(1 到 12) t – 给定月份包含天数 L – 是否是闰年(如果是闰年则为 1,否则为 0) o – ISO-8601 标准下年份数字 Y...与 j 搭配使用) w – 星期几数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z – 年中第几天(从 0 到 365) W – 用 ISO-8601 数字格式表示年中星期数字...(用三个字母表示) n – 月份数字表示,不带前导零(1 到 12) t – 给定月份包含天数 L – 是否是闰年(如果是闰年则为 1,否则为 0) o – ISO-8601 标准下年份数字 Y

4.4K20

C++奇迹之旅:从0开始实现日期时间计算器

但是第二种,由于*this = *this + day;*this+day先调用+,然后+拷贝构造,然后返回临时对象,然后还要进行拷贝构造,对比第种效率降低了,所以使用加复用加等性能更好...// 后置递减运算符重载 // 该运算符重载函数返回递减日期对象 Date Date::operator--(int) { // 创建个临时日期对象,保存当前日期对象值 Date...它返回递减日期对象,因此可以支持后置递减操作,如 d1–;。 实现方式是:创建个临时日期对象,保存当前日期对象值。...,并将标记变量 flag 设为 -1,接下来,使用 while 循环递增 min 日期,直到与 max 日期相等,同时累加天数差 n,最后,根据标记变量 flag 值确定返回值正负,即返回两个日期对象之间天数差...注意:CheckDate()为了防止输入 2024年4月0日 最后问题是全局两个全局变量怎么能使用Date内置类型呢? 没错!我是你朋友就好啦!!!

8610

C++实战——日期类实现

总结:这段代码是个用于获取指定年份和月份天数函数,对闰年进行了处理,并使用数组存储了每个月份天数。...然后,使用个while循环来判断当前_day是否超过了当前月份天数。如果超过了,就通过减去当前月份天数来计算剩余天数,并将_month加1。...然后,使用个while循环来判断当前_day是否小于等于0。如果小于等于0,说明日期需要借位,所以将_month减1。...和前置递减运算符不同,后置递减运算符需要通过函数参数来区分前置和后置形式,参数类型可以是int或者个无关类型,这里使用int作为参数。...示例 const Date d1(2024,4,11); d1< d2 会报错,是因为this指针类里是Date* const this修饰 C++,类里成员函数有个隐含指向当前对象指针

7510

如何在 Windows 10上创建和运行批处理文件

(您可以使用“@”情况下使用该命令,但是符号隐藏了正在执行命令以创建个更清晰返回。) ECHO:屏幕上打印任意文本。 PAUSE:执行命令后保持窗口打开。...名称字段,键入任务描述性名称,例如 SystemInfoBatch。 (可选)描述字段,为任务创建描述 点击下步按钮 选择 Monthly 选项。...本例,我们选择每月运行个任务选项,但是您可能需要根据需要配置其他参数。 点击下步按钮 使用开始设置,确认开始运行任务日期和时间 使用每月下拉菜单来选择年中你想要运行任务月份。...使用天或上下拉菜单来确认任务将运行天。 点击下步按钮 选择 启动程序 选项以运行批处理文件程序或脚本字段,单击 浏览 按钮 选择您创建批处理文件,点击下步按钮。...启动时运行批处理文件 如果你希望每次登录到 Windows 10 帐户时执行系列命令,你可以将脚本放在启动文件夹以保存额外步骤,而不是使用任务计划程序。

26.4K40

Echarts折线图表断点如何补全

Echarts折线图如何补全断点以及如何隐藏断点title   做报表时候,尤其是做图表时候时常会碰到某记录缺少某个时间段(比如月份或季度)值,导致图表显示残缺不全,for example...下分享下我思路:         A>首先要取得所有部门期限内所有数据(当然这个过程你需要自己码代码获得份完整月份数据,要不然你怎么知道记录断点位置呢,是不?)         ...B>然~,整理你数据,分层是必要(如果数据库能按按部门分层月份,干嘛还要这么累啊(=@__@=))         C>再~,两层遍历,等等干什么呢?...-->这是要找出断点,并用统mark以标示           (具体就是外层循环月份List,然后遍历所有的按部门归类部门月份找出此部门再哪个期限缺值)         D>然~,看似以上已经找出了断点了...)       62~121行处理断点数据(将已经分层里面的月份‘—’处理成前后值平均数,使折线平滑)           在这个之前需要对月份数据排序(从小到大排序),方法最下面哈

1.7K80

Linux命令之Date——时间

%j 该年中第几天。 %m 月份(以01-12来表示)。 %U 该年中周数。 %w 该周天数,0代表周日,1代表周,异词类推。 %x 日期(以本地惯用法来表示)。...--version  显示版本信息 4.使用说明: 1.显示方面,使用者可以设定欲显示格式,格式设定为个加号后接数个标记,其中可用标记列表如下: % : 打印出 %: %n : 下行 %t...%b %j : 年中第几天 (001..366) %m : 月份 (01..12) %U : 年中第几周 (00..53) (以 Sunday 为情形) %w : 第几天...(0..6) %W : 年中第几周 (00..53) (以 Monday 为情形) %x : 直接显示日期 (mm/dd/yy) %y : 年份最后两位数字 (00.99) %Y :...-d 选项还可以告诉您,相对于当前日期若干天究竟是哪天,从现在开始若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项参数,就可以完成这项任务。

5K40

PHP获取当前时间、年份、月份、日期和天数

March) M - 表示月份(3个字母:Jun) m - 表示月份,有前导0(数字:04) n - 表示月份,无前导0(数字:4) d - 表示月份第几天,有前导0(01-31) j -  表示月份第几天...,无前导0(1-31) D - 表示星期几(3字母:Wed) l - 表示星期几(完整英文:Wednesday) w - 表示星期中第几天(数字,0表示星期天) W - 表示年中第几周 z - 表示年中第几天...> checkdate:检验日期有效性 程序开发过程需要设计填写日期和时间模块,有时会因为录入失误,而产生错误。...语法: mktime(hour,minute,second,month,day,year) 使用 mktime() 函数系列参数来创建日期和时间: 实例: PHP 将字符串转换为日期这方面非常聪明,所以您能够使用各种值: 实例: <?

22.9K10

Oracle如何获取当年第几周、第几天,当月第几周、第几天等

最近弄有关标签上日期码DATECODE,遇到了自动生成问题,这个呢可以C#程序根据日期自动生成,也可以通过数据库生成。今天先介绍下数据库生成,这里用Oracle数据库。...先来说下需求:日期格式需要取年后两位+月份转为A-L+当月第几周,如21I1就是今天日期码。...') FROM DUAL; --1年中第几周(每年1月1日为第1周开始,日期+6天为每1周结尾) SELECT TO_CHAR(SYSDATE, 'iw') FROM DUAL; --1年中第几周(...day') FROM DUAL; --当前日期是星期几,可设置显示英文还是中文 SELECT TO_CHAR(SYSDATE, 'ddd') FROM DUAL; --1年中第几天 SELECT TO_CHAR...(SYSDATE,'q') FROM DUAL; --1年中第几季度

4.6K20

python-for-data-3大时间序列

详细介绍3大模块使用 calendar 日历模块calendar,常用方法是 ?...month(year,month,w=2,l=1) 返回是year年month月日历,两行标题,行(l=1)。每日间隔宽度为w字符,每行宽度是7*w+6,l=1是每星期行数 ?...python时间日期格式: 格式 含义 取值范围(样式) %y 去掉世纪年份 00-99,如“19” %Y 完整年份 如2019 %j 指定日期是年中第几天 范围001-366 %m 返回月份...范围:01-12 %b 本地简化月份名称 简写英文月份 %B 本地完整月份名称 完整英文月份 %d 该月第几日 如,5月1日返回是“01” %H 第几小时,24小时制 00-23 %l 第几小时...,12小时制 00-12 %M 分钟 00-59 %S 秒 00-59 %U 该年中第几个星期(周日为起点) 00-53 %W 同上,周为起点 00-53 %w 个星期中第几天 0-6 %

1.7K10

解码Gh0st RAT变种网络数据

今年3月份次取证调查,我们找回了些文件。经过我们初步判定,这些文件极有可能与个知名组织Iron Tiger有关。...调查,我们还发现了些攻击者使用工具,例如password dumpers,Monero加密货币矿工,可移动可执行(PE)注入器,以及Gh0st RAT修改版。...旦将执行传递给shellcode,它将使用单个字节作为eXclusive OR(XOR)循环密钥,来解密其余加密数据。...相反,密码基于当前年份和月份。例如,2018年3月份密码是’201803’。 第个名为’Noodles’文件,似乎是基于编译日期和功能Gh0st RAT旧修改版本。...密钥对于每个请求都是唯,并且使用’XOR’和’AND’指令进行加密。密钥存储在请求前28个字节

95230

python:time时间模块

time模块方法: time.time():获取当前时间时间戳 time.localtime():接受个时间戳,并把它转化为当前时间元组。...7tm_yday年中第几天8tm_isdst夏令时 time.mktime():和time.localtime()相反,它把个时间元组转换成时间戳(这个必须要给个参数) time.asctime...00-99%Y完整年份 %j年中第几天001-366月份%m月份1月12日%b本地简化月份名称简写英文月份%B本地完整月份名称完整英文月份日期%d个月中第几天1月31日小时%H第几个小时...(24小时制)00-23%l第几个小时(12小时制)“01-12”分钟%M分钟数00-59秒%S秒00-59星期%U年中星期数(从星期天开始算)00-53%W年中星期数(从星期开始算) %w个星期第几天...,因为他们反映了程序使用实际时间,平常用不到这个。

53010

Java基础基础—- Java语法必背规律

int index = 字符串.indexOf("ab",start); 3、查找完毕,起始索引 = 找到索引+1 start = index+1; 2、遍历,判定当前是否为最后个元素。...+1天 /1周 /1年 当前毫秒值+1000L*60*60*24; 当前毫秒值+1000L*60*60*24*7; 当前毫秒值+1000L*60...,添加/删除 元素 增强for:进行正向逐个遍历(不能修改集合长度-添加/删除不能进行) 迭代:进行遍历 删除 元素 16、 去重复判断: HashSet集合, add方法,返回false,...,在此次执行,this表示就是谁 ·(调用成员变量、构造方法)如何判断this: this关键字在哪个类,就表示哪个类内容 ·关键字如何执行成员方法: 未找到该方法,去父类寻找。...,主要看当前try…catch…finally是否有执行throws或return 若出现,则无法执行finally外代码,因为方法被结束了 7、继承异常抛出和返回值类型 子类抛出异常/子类返回值类型

76120
领券