批量重命名周数 [英] Batch rename # of week

查看:94
本文介绍了批量重命名周数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用批处理重命名一些文件.
我需要它看起来像DD.MM.YY - # week randomname
所以说2.7.2013-27.week abcdefg.xls

I want to rename a few files using batch.
I need it to look like DD.MM.YY - # week randomname,
so let's say 2.7.2013-27.week abcdefg.xls

到目前为止,我正在使用

So far I'm using

for /f "tokens=1-5 delims=/ " %%d in ("%date%") do (
  rename "C:\TEST\123.xlsx" %%e%%f%%g.xlsx
)

DD.MM.YYYY一起提供,非常适合第一部分.
剩下的你可以帮忙吗?

which comes up with DD.MM.YYYY and is perfect for the first part.
Can you help with the rest?

推荐答案

@echo off
for /F "tokens=1-5 delims=/" %%d in ("%date%") do (
   set ddmmyy=%%e.%%f.%%g
   set /A dd=1%%e-100, mm=1%%f-100, yy=%%g, yyM1=yy-1
)
rem Get Julian Day Number of today's date
if %mm% lss 3 set /A mm+=12, yy-=1
set /A a=yy/100, b=a/4, c=2-a+b, e=36525*(yy+4716)/100, f=306*(mm+1)/10, jdn=c+dd+e+f-1524
rem Subtract Julian Day Number of January/1st (get number of days in year)
set /A a=yyM1/100, b=a/4, c=2-a+b, e=36525*(yyM1+4716)/100, f=306*14/10, days=jdn-(c+1+e+f-1524)+1
rem Get number of week
set /A week=(days+3)/7+1
ECHO rename "C:\TEST\123.xlsx" "%ddmmyy% - %week%.week !random!!random!.xlsx"

参考: http://quasar.as.utexas.edu/BillInfo/JulianDatesG. html

这篇关于批量重命名周数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆