找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 13677|回复: 3

[日期时间] 求助批处理根据今天日期获取本周六日期,或者下周一日期也行

[复制链接]
发表于 2024-7-9 12:59:49 | 显示全部楼层 |阅读模式
根据今天日期获取本周六的日期,或者下周一的日期也行,格式为YYYY.MM.DD。(用于对程序所在目录的指定文件加前缀,创建定期副本)
括号内容不用管
  1. for /f %%k in ('powershell -c get-date -uformat "%%Y.%%m.%%d"') do (
  2.     set "Da=%%k"
  3. )
复制代码
我只会获取今天日期,但是不会根据它判断周六是哪天
另外如果还想生成下周六的日期,怎么写更好,直接+7吗?
发表于 2024-7-9 13:52:47 | 显示全部楼层
回复 1# jave000
  1. @echo off
  2. set "SatDOW=6"
  3. for /f %%i in ('powershell -c "Get-Date -UFormat "%%u""') do (
  4.     set "TodayDOW=%%i"
  5. )
  6. set /a GapDays=SatDOW-TodayDOW
  7. for /f %%i in ('powershell -c "Get-Date (Get-Date).AddDays(%GapDays%) -uformat "%%Y-%%m-%%d""') do (
  8.     set "SatDate=%%i"
  9. )
  10. echo,%SatDate%
  11. pause
复制代码
发表于 2024-7-9 14:08:27 | 显示全部楼层
  1. for /f %%k in ('powershell -c "$a=get-date;$a.AddDays(6-[int]$a.DayOfWeek).ToString("yyyy.MM.dd")"') do (
  2.     set "Da=%%k"
  3. )
  4. echo %Da%
复制代码
下周六
  1. $a.AddDays(6+7-[int]$a.DayOfWeek)
复制代码
发表于 2024-7-9 16:27:56 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-7-9 16:33 编辑

回复 1# jave000

获取本周六日期
  1. for /f "tokens=1" %%d in (' powershell "(Get-Date).AddDays(6-(Get-Date -UFormat %u))" ') do set "Da=%%d"&echo,%%d
复制代码
获取下周六日期
  1. for /f "tokens=1" %%d in (' powershell "(Get-Date).AddDays(7+6-(Get-Date -UFormat %u))" ') do set "Da=%%d"&echo,%%d
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 22:03 , Processed in 0.040219 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表