REM 获取当前日期 for /f "tokens=1-3 delims=/ " %%a in ('echo %date%') do ( set "day=%%a" set "month=%%b" set "year=%%c" )

时间: 2023-11-11 12:52:30 浏览: 47
这段代码是用于获取当前日期,并将结果分别存储在`day`、`month`和`year`这三个变量中。 在这个代码块中,使用`for /f`命令来处理输出的日期字符串。具体的解析方式如下: - `tokens=1-3`指示将日期字符串分割成三个部分,分别存储在`%%a`、`%%b`和`%%c`这三个变量中。 - `delims=/`指定日期字符串中的分隔符为斜杠`/`和空格,以便正确分割日期的不同部分。 - `'echo %date%'`是一个命令,用于输出当前日期字符串。该命令的输出将被`for /f`命令读取并进行解析。 解析后,将得到的日期部分分别存储在`day`、`month`和`year`这三个变量中。 请注意,在不同的操作系统和区域设置下,日期字符串的格式可能会有所差异。因此,如果您发现日期解析不正确,请根据您的操作系统和日期格式进行适当的调整。 希望能对您有所帮助!如果有其他问题,请随时提问。
相关问题

@echo off setlocal enabledelayedexpansion :Main cls :: 日期可以带星期,但是,必须以年月日的顺序排列 :: 年份必须是四位,否则会出错 set day=%date% set days=0 echo.&echo. echo 指定的日期是:%day% echo. rem 指定要追溯的天数 set input=5 :: 提取日期 for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do ( set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100 ) set /a sd-=input if %sd% leq 0 call :count cls echo.&echo. echo 指定的日期是:%day% echo. set sm=0%sm% set sd=0%sd% set olddt=%sy%%sm:~-2%%sd:~-2% echo %input% 天前的日期是:%olddt% set yyyy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% rem set /a currdt= yyyy*10000+mm*100+dd set currdt=%date:~0,4%%date:~5,2%%date:~8,2% echo 当前日期是:%currdt% set dt=%date:~0,4%_%date:~5,2%%date:~8,2% REM 把 : 都替换成 -,空格替换成0 set dt=%dt::=-% set dt=%dt: =0% mkdir D:\bf\%currdt% echo 开始备份:%currdt% expdp systemcore/systemcore@ABCD dumpfile=expdp%dt%.dmp logfile=expdp.log full=y copy /y D:\bf\expdp.dmp D:\bf\%currdt%\\ copy /y D:\bf\expdp.log D:\bf\%currdt%\\ del/f/q D:\bf\expdp.dmp del/f/q D:\bf\expdp.log echo 删除过期备份: %olddt% rd D:\bf\%olddt% /s /q goto :eof :count set /a sm-=1 if !sm! equ 0 set /a sm=12, sy-=1 call :days set /a sd+=days if %sd% leq 0 goto count goto :eof :days :: 获取指定月份的总天数 set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)" set /a max=28+leap set num=0 set str=31 %max% 31 30 31 30 31 31 30 31 30 31 for %%i in (%str%) do ( set /a num+=1 if %sm% equ !num! set days=%%i&goto :eof ) goto :eof --是这样加吗?

这段代码是一个Windows批处理脚本,用于备份Oracle数据库。主要实现了以下功能: 1. 获取当前日期,计算指定天数之前的日期; 2. 使用expdp命令备份数据库,并将备份文件和日志文件复制到指定目录下; 3. 删除指定日期之前的备份目录。 至于您的问题,我不太明白您的意思,请再解释一下。

批处理获取昨天所属月的开始和结束时间

可以使用以下批处理代码来获取昨天所属月的开始和结束时间: ``` @echo off rem 获取当前日期 set "today=%date%" rem 将日期格式转换为 yyyy-mm-dd 的格式 for /f "tokens=1-3 delims=/" %%a in ("%today%") do set "today=%%c-%%a-%%b" rem 计算昨天的日期 set /a "day=1%today:~-2%-100, month=1%today:~-5, month-=1, year=%today:~0,-6%" if %month% equ 0 set /a "year-=1, month=12" set /a "days=36525*(year+4716)/100/4-306001*(month+1)/10000*2+((month+1)*275/9+day-30)" rem 将日期格式转换为 yyyy-mm-dd 的格式 set "yesterday=%year%-%month%-%days%" rem 获取昨天所属月的开始和结束时间 for /f "tokens=1-3 delims=-" %%a in ("%yesterday%") do ( set "start=%year%-%month%-01 00:00:00" set /a "last_day=30+(%%b==4 || %%b==6 || %%b==9 || %%b==11)+(%%b==2)*(-2+!(%%a%%4))" set "end=%year%-%month%-%last_day% 23:59:59" ) echo Yesterday: %yesterday% echo Start time: %start% echo End time: %end% ``` 解释: 首先获取当前日期,然后将其转换为 `yyyy-mm-dd` 的格式。接着使用批处理中的算术运算和日期计算方式计算出昨天的日期。然后将其转换为 `yyyy-mm-dd` 的格式。 最后使用当前年月和昨天所属月的最后一天来计算昨天所属月的开始和结束时间。注意,月份的天数需要根据是否为闰年来判断。

相关推荐

最新推荐

recommend-type

6-10.py

6-10
recommend-type

基于机器学习的入侵检测系统+源码+说明.zip

基于机器学习的入侵检测系统+源码+说明.zip
recommend-type

matlab基于潜在低秩表示的红外与可见光图像融合.zip

matlab基于潜在低秩表示的红外与可见光图像融合.zip
recommend-type

4-5.py

4-5
recommend-type

基于tensorflow使用简单线性回归实现波士顿房价预测源码.zip

基于tensorflow使用简单线性回归实现波士顿房价预测源码.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。