windows下批处理,取昨天的时间

【日期时间】批处理计算上个月最后一天的日期 【方案一】BAT + date.exe(GNU) @echo offrem 调用GNU for Win32的date.exeset "gnuDate=C:/test/date.exe"for /f %%a in (%gnuDate% "+%%Y%%m01") do ( for /f %%h in (%gnuDate% -d "%%a 1 days ago" "+ 阅读详情

@echo off
setlocal EnableDelayedExpansion

echo Generate last datetime...

set TodayYear=%date:~0,4%
set TodayMon=%date:~5,2%
set TodayDay=%date:~8,2%
if "!TodayDay!" == "08" set TodayDay=8
if "!TodayDay!" == "09" set TodayDay=9

set LastdayYear=
set LastdayMon=
set LastdayDay=

set LastdayYear=%TodayYear%
set LastdayMon=%TodayMon%
set /A LastdayDay=TodayDay-1

echo %TodayDay%
echo %LastdayDay%


if "%LastdayDay%" == "0" (
  if "!LastdayMon!" == "01" (
  set LastdayMon=12
  set /A LastdayYear-=1
  ) else (
  set /A LastdayMon-=1
   
  if "!LastdayMon!" == "1" set LastdayMon=01
  if "!LastdayMon!" == "2" set LastdayMon=02
  if "!LastdayMon!" == "3" set LastdayMon=03
  if "!LastdayMon!" == "4" set LastdayMon=04
  if "!LastdayMon!" == "5" set LastdayMon=05
  if "!LastdayMon!" == "6" set LastdayMon=06
  if "!LastdayMon!" == "7" set LastdayMon=07
  if "!LastdayMon!" == "8" set LastdayMon=08
  if "!LastdayMon!" == "9" set LastdayMon=09
  )

  if "!LastdayMon!" == "01" set LastdayDay=31
  if "!LastdayMon!" == "03" set LastdayDay=31
  if "!LastdayMon!" == "04" set LastdayDay=30
  if "!LastdayMon!" == "05" set LastdayDay=31
  if "!LastdayMon!" == "06" set LastdayDay=30
  if "!LastdayMon!" == "07" set LastdayDay=31
  if "!LastdayMon!" == "08" set LastdayDay=31
  if "!LastdayMon!" == "09" set LastdayDay=30
  if "!LastdayMon!" == "10" set LastdayDay=31
  if "!LastdayMon!" == "11" set LastdayDay=30
  if "!LastdayMon!" == "12" set LastdayDay=31
   
  if "!LastdayMon!" == "02" (
  set IsLeapYear=
   
  set /A IsLeapYear=!LastdayYear!%%400
  if "!IsLeapYear!" == "0" (
  set LastdayDay=29
  goto MAKELASTDATE
  )
   
  set /A IsLeapYear=!LastdayYear!%%100
  if "!IsLeapYear!" == "0" (
  set LastdayDay=28
  goto MAKELASTDATE
  )
   
  set /A IsLeapYear=!LastdayYear%%4
  if "!IsLeapYear!" == "0" (
  set LastdayDay=29
  goto MAKELASTDATE
  ) else (
  set LastdayDay=28
  goto MAKELASTDATE
  )
  )
)

:MAKELASTDATE

if "%LastdayDay%" == "1" set LastdayDay=01
if "%LastdayDay%" == "2" set LastdayDay=02
if "%LastdayDay%" == "3" set LastdayDay=03
if "%LastdayDay%" == "4" set LastdayDay=04
if "%LastdayDay%" == "5" set LastdayDay=05
if "%LastdayDay%" == "6" set LastdayDay=06
if "%LastdayDay%" == "7" set LastdayDay=07
if "%LastdayDay%" == "8" set LastdayDay=08
if "%LastdayDay%" == "9" set LastdayDay=09

 

rem 该程序有bug 下面几句话进行修正8月1号和9月1号的日期

if !TodayMon!==08    if !TodayDay!==01       set LastdayMon=07
if !TodayMon!==08    if !TodayDay!==01       set LastdayDay=31

if !TodayMon!==09    if !TodayDay!==01       set LastdayMon=08
if !TodayMon!==09    if !TodayDay!==01       set LastdayDay=31

 

set LastDate=%LastdayYear%%LastdayMon%%LastdayDay%

@echo Today =%date:~0,4%%date:~5,2%%date:~8,2%
@echo Yestoday=%LastDate%
pause

 

Windows定时删除N天前的文件(通过批处理文件和定时任务) Windows定时删除N天前的文件 1、创建一个文本文档,编辑如下内容: 其中: SrcDir:要删除文件所在的文件夹 DaysAgo:时间 /d:指定日期,有绝对日期和相对日期, 此处指当前日期的N天前 /f:强制删除只读文件 /s:从所有子目录删除指定文件 /q:删除全局通配符时,不提示删除确认 @echo off set SrcDir=C:\Users\admin\Desktop\new set DaysAgo=1 forfiles /p %SrcDir% /s /m *.*. 阅读详情

相关推荐

解决CMD批处理日期时间格式问题的实用指南

在Windows系统自动化脚本开发中,日期时间处理是常见的基础需求。系统环境变量%date%和%time%的格式会随区域设置变化,导致脚本跨环境运行时出现兼容性问题。理解操作系统区域设置对日期格式的影响是关键,美国常用MM/dd/yyyy而欧洲多用dd/MM/yyyy。通过wmic命令获取ISO 8601标准格式或调用PowerShell可以规避区域差异,这是批处理脚本健壮性的重要保障。本文以自动化部署场景为例,详解如何统一处理日期分割、时间空格补零等典型问题,并提供获取时间戳、计算执行时间等实用代码片段,

weixin_32715349的博客 337

批处理获取昨天的系统时间(当前日期前一天)

说明:此方法不是单纯的DOS命令,需要配合vb脚本完成。方法如下:@echo offcd /d %~dp0echo %cd%echo wscript.echo dateadd("d",-1,date) >tmp.vbs for /f "tokens=1,2,3 delims=/" %%i in ('cscript /nologo tmp.vbs') do ( set /...

weixin_34280237的博客 1929

nginx日志如何在windows上的切割

需要注意的是,在执行 nginx -s reopen 命令时,当前目录必须位于 Nginx 的主目录中,否则会找不到日志文件在哪个目录中(估计 Nginx 默认采用相对路径寻找),这也就是批处理中需要进入盘符和 Nginx 主目录的原因了,因为任务计划执行时并不是在 Nginx 的主目录中。上面这个脚本中的最后一行必须向 Nginx 的进程发送 USR1 信号以重新打开日志文件,如果不写的话,Nginx 会继续将日志信息写入 access_[yyyy-MM-dd].log 的那个文件中,这显然是不正确的。

hdxx2022的博客 688

批处理 bat 取昨天日期

网上看了用bat太复杂,于是有人用到了vbs 新建一个 vbs 文件,内容为 d = date() - 1 wscript.echo year(d) * 10000 + month(d) * 100 + day(d) 再新建个bat文件调用即可 for /f %%a in ('cscript //nologo a.vbs') do set yesterday=%%a echo %yesterday% ...

羽之大公公的博客 1485

Windows Ubuntu双系统时间不一致

这个问题本来很早就遇到并解决了,可是昨天在 Ubuntu 上尝试装 Win7 虚拟机,当时没有注意时间的变化,今早重新打开电脑,发现时间快了 8 个小时。于是决定再次详细总结这个问题,加深记忆。 解决这个问题之前,我们需要先了解以下概念: GMT 格林威治标准时间。 十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observator...

star的博客 1791

Windows的批处理——获取系统时间、生成当天日期日志

在我们进行软件开发的过程中,有时候会使用到一些批处理命令,其中就涉及到获取系统日期、时间来进行一些逻辑的判断处理;那么我们就需要使用到系统的日期和时间内容进行操作(比如需要获取到指定的天、月的日期做处理;或者是指定的小时、分钟做处理)。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

go语言 实现 今天、昨天、本周、本月的时间

go语言内置time模块 improt ( "time" "fmt" ) func main() { now := time.Now() week := now.Weekday() offset := int(time.Monday-week) if offset > 0 { offset = -6 } fmt.Println(offset) //周 StartDate := time.Date(now.Year(), now.Month(), now.Day(), 0, 0,

Sxphd的博客 1545

用Multisim和AD2复刻经典:手把手教你搭建μA741三角波-方波发生器(附完整避坑指南)

本文详细介绍了如何使用Multisim和AD2搭建基于μA741运算放大器的三角波-方波发生器,包括电路原理、Multisim仿真流程、AD2硬件搭建及调试技巧。通过对比理论计算、仿真和实测数据,深入分析器件非理想特性的影响,并提供16个典型问题的解决方案,帮助读者掌握波形发生器的设计原理和工程调试经验。

weixin_28744423的博客 285

bat批处理取系统时间前一天

 echo ofset yyyy=%date:~0,4%set mm=%date:~5,2%set dd=%date:~8,2%rem if %dd% EQU 6 注释if %dd:~0,1%==0 set dd=%dd:~1%set /a od=%dd%-1set /a ood =10-%od%if %ood% gtr 0 set od=0%od%::/a 定等号右边的字符串为被评估的数字表达式...

happycd的专栏 3165

结构设计3D拆件与骨架模型构建实战:基于Creo 8.0的5个高效建模技巧

本文详细解析了基于Creo 8.0的结构设计3D拆件与骨架模型构建实战技巧,涵盖5个高效建模方法,包括参数化驱动、曲面分割、多实体协同设计等。通过骨架模型的智能应用,设计效率可提升30%以上,特别适合复杂产品的结构设计。文章还提供了TWS耳机充电仓等实战案例,帮助工程师快速掌握工业设计中的核心建模技术。

weixin_30000735的博客 574

通俗讲解清楚光线追踪中的蒙特卡洛积分

彻底讲解光线追踪中的蒙特卡洛积分

qq_37366618的博客 1243

【随手写】BAT脚本之获取昨天日期

今天遇到需要获取昨天日志,匹配、分析、移动、删除。随手写一个windows下的获取昨天时间日期的脚本。希望可以帮到看到这篇博客的程序员。下面是代码。::--------Generate Last Date---------- @echo off @Author:Ryan Albert setlocal EnableDelayedExpansion echo Generate last datet

优秀程序员的专栏 1704

避开命令行!在VMware vCenter 8.0图形化界面里搞定SSL证书续期全流程

本文详细介绍了在VMware vCenter 8.0图形化界面中完成SSL证书续期的全流程,包括计算机SSL证书、VMCA根证书和STS证书的管理。通过可视化操作,管理员无需使用命令行即可高效处理证书问题,确保vSphere环境的稳定运行。文章还提供了证书监控与预警配置的实用技巧,帮助用户提前规避证书过期风险。

weixin_27051161的博客 284

DOS批处理下格式化日期字符串

iamlaosong文 在Linux下,简单的一句话:date '+%Y%m%d-%H%M%S'就可以得到你要的输出:20120331-064219  可是在windows下,要想得到这个,简单的办法是直接用字符串格式化输出。  比如,如果你的机器上时间的输出是这样子的:  c:\>echo %date%-%time%  2017-05-15 星期一- 5:16:34.29  那么

驽马十驾 才定不舍 5075

华为Atlas 300I推理卡驱动安装避坑指南:不同安装方式的选择与优化

本文详细解析华为Atlas 300I推理卡驱动安装的三种主流方式(.run、.rpm和源码编译),提供关键环境检查步骤、安装流程优化建议及常见问题解决方案,帮助开发者高效完成芯片推理卡部署并规避典型安装陷阱。

q9w8e7r6t5的博客 433

GMSL转eDP芯片MAX9686X(ADI)

MAX96860/MAX96862/MAX96864解串器可以把单路或双路GMSL转换成eDP V1.4a,支持820MHzPCLK的无压缩的24bpp(每个像素的位数)视频,或660MHz的30bpp视频。芯片的GMSL支持NRZ编码的6Gbps/187Mbps的GMSL2,PAM4编码的12Gbps/187Mbps的GMSL3。同时支持单线(COAX模式)双向全双工传输控制数据和video数据。支持DSC压缩的芯片,最大支持像素时钟1080MHz@24bpp或者864MHz@30bpp,传输方式包括同轴

qflook的博客 2850

创建文件夹(取当前系统时间)

创建文件夹(取当前系统时间) 2008-09-26 13:14:18 标签:创建 职场 文件夹 休闲 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://kerry.blog.51cto.com/172631/102117 windows: md %date:~0,10%        ----2007

Rocloud的专栏 2058

提示词编写:从新手到专家的进阶之路

本文旨在为提示词编写者提供一条从新手到专家的进阶之路。我们将详细探讨提示词编写的背景与意义、基础与进阶技巧、实战应用以及最佳实践。通过逐步深入的分析与实操,读者将掌握提示词编写的核心要点,提高编写效率和作品质量。提示词是用于引导人工智能生成文本的关键词或短语,它包含了作者想要传达的主题、情感和细节。随着人工智能技术的普及,自动化写作工具逐渐应用于各行各业。为了提高写作效率,项目团队决定开发一款基于人工智能的自动化写作工具。成功开发了一款自动化写作工具,生成文本质量较高。

AI天才研究院 1087

Windows批处理的一些方法

Windows批处理的一些方法 读取配置文件

xiongfei0131的专栏 695

MATLAB - 浮动基座机器人的逆运动学

本例演示如何解决以浮动底座为模型的机器人的逆运动学问题。浮动底座机器人可以在空间中自由平移和旋转,具有六个自由度。浮动基座机器人的逆运动学问题适用于空间应用,即使用安装在浮动和致动基座上的机械臂在空间操纵物体,也适用于躯干和腿部可在空间自由移动的行走机器人。请注意,刚体树对象表示具有固定基体的刚体树。这意味着刚体树的基体在世界中具有固定的位置和方向。您可以在基体上附加一个 “浮动 ”类型的刚体关节,为具有浮动基体的机器人建模,以用于动态模拟等某些应用。

机器人控制与仿真应用 2440

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

用批处理修改时间搜索文件_如何用window命令行更改文件创建和修改时间

点击上方“菜鸟童靴”,选择“关注公众号”我们一起开启Python进阶之旅!title: 如何用window命令行更改文件创建和修改时间date: 2020-10-17 15:49:35categories: 技术杂谈昨天朋友突然给我发来消息,说他有个文件,文件的创建时间和修改时间,想修改一下,往前提个几天,刚开始给他推荐了几个软件,但是想想一个程序员怎么能用他人的软件呢,于是乎,安排.....

weixin_39902085的博客 1244

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

linux批处理获取昨天日期,批处理bat标准化获取当前系统日期的几种方法

操作系统不同,日期格式也可能不同:星期二 2008-07-292008-07-29 星期二07/29/2008 TueTue 07/29/2008再考虑到中、英之外的其它语言的操作系统,日期格式的种类实在太多了。要想标准化地获取当前系统日期2008-07-28,直接截取%date%变量的方法是不行的。【方案一】BAT + REG123456789101112131415@echo offrem 无...

weixin_39887925的博客 285

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

AIX下取前一天时间

转帖:http://blog.sina.com.cn/s/blog_541a3cf10101expx.html AIX的默认dtae命令是不支持-d参数的,导致大家写脚本很痛苦,没法简单取得前一天的时间。 下面有简单方式可以取得: YESTERDAY=`TZ=aaa24 date +%Y%m%d` echo $YESTERDAY 或者是 #!/bin/sh T

孔老先生的博客 1万+

WSL 时间与 Windows 对不上?三步修复 WSL 时间同步问题

git 提交记录显示昨天的日期、增量构建因时间戳误判漏掉重编、跨系统的日志拼在一起时间线颠倒——这些症状的根源几乎都是 WSL 时间同步出了问题:WSL 里的时间没跟上 Windows 主机。本文先帮你定位偏差来源,再给立即可执行的修复命令,最后是能一次配置长期生效的方案。 [![WSL 时间同步排查时可参考的 WSL 设置界面](https://raw.gitcode.com/GitHub_T

gitblog_00486的博客 612

电脑服务器时间应该是哪个文件,Windows与Linux中生成以当前时间命名的文件 Windows服务器操作系统 -电脑资料...

在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件,Linux中我们只要使用Shell 脚本即可实例:代码如下复制代码#!/bin/shecho test >> $(date -d "today" +"%Y%m%d_%H%M%S").txt成日期格式的文件 ?LINUX/U...

weixin_39805119的博客 451
上一篇: windows下ftp带时间参数
下一篇: 批处理软件-批处理之家
ltoper
博客等级 码龄17年 8粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值