Q
批量重命名周#
0
A
回答
2
Windows代碼:
awk "BEGIN {print strftime(\"%U\",mktime(\"YYYY MM DD hh mm ss\"))}"
例子:
>for /f %i in ('awk "BEGIN {print strftime(\"%U\",mktime(\"2013 07 03 12 00 00\"))}"') do @echo %i
26
1
這會給你日期,一年的星期,並且可以使用隨機!!隨機!隨着延遲擴展給你一個隨機文件名。
下面是一個示例腳本 - 年月日在文件夾中正確排序,如果這對您很重要。
@echo off
call datetime.bat /quiet
setlocal enabledelayedexpansion
for %%a in (*.xlsx) do (
rename "%%a" "%year%.%month%.%day% - %woy%.week !random!!random!%%~xa"
)
這裏是datetime.bat
:: date time using WSH/VBS
:: datetime.bat V4.2
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: This uses Windows Scripting Host to set variables to
:: the current date/time/day/day_number/week_of_year etc
:: for Win9x/ME/NT/W2K/XP/Vista/Win7/Win8 etc
:: Thanks go to Todd Vargo for his scripting
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
set TmpFile="%temp%.\tmp.vbs"
echo> %TmpFile% n=Now
echo>>%TmpFile% With WScript
echo>>%TmpFile% .Echo "set m1=" + monthname(month(n), true)
echo>>%TmpFile% .Echo "set m2=" + monthname(month(n), false)
echo>>%TmpFile% .Echo "set woy=" + CStr(datepart("ww", n))
echo>>%TmpFile% .Echo "set year=" + CStr(Year(n))
echo>>%TmpFile% .Echo "set yr=" + Right(Year(n),2)
echo>>%TmpFile% .Echo "set month="+ Right(100+Month(n),2)
echo>>%TmpFile% .Echo "set day=" + Right(100+Day(n),2)
echo>>%TmpFile% .Echo "set hour=" + Right(100+Hour(n),2)
echo>>%TmpFile% .Echo "set min=" + Right(100+Minute(n),2)
echo>>%TmpFile% .Echo "set sec=" + Right(100+Second(n),2)
echo>>%TmpFile% .Echo "set dow=" + WeekDayName(Weekday(n),1)
echo>>%TmpFile% .Echo "set dow2=" + WeekDayName(Weekday(n))
echo>>%TmpFile% .Echo "set iso=" + CStr(1 + Int(n-2) mod 7)
echo>>%TmpFile% .Echo "set iso2=" + CStr(Weekday(n,2))
echo>>%TmpFile% End With
cscript //nologo "%temp%.\tmp.vbs" > "%temp%.\tmp.bat"
call "%temp%.\tmp.bat"
del "%temp%.\tmp.bat"
del %TmpFile%
set TmpFile=
set stamp=%year%-%month%-%day%.%hour%_%min%_%sec%
if not "%~1"=="" goto :EOF
echo The year is "%year%" or "%yr%"
echo The month is "%month%" "%m1%" "%m2%"
echo The day is "%day%" "%dow%" "%dow2%"
echo.
echo ISO8601 Day-Of-Week number is "%iso%" and week of year is: "%woy%"
echo.
echo The time in hh:mm:ss is "%hour%:%min%:%sec%"
echo The hour is "%hour%"
echo The minute is "%min%"
echo The second is "%sec%"
echo.
echo The date and time stamp is "%stamp%"
echo.
echo date A yyyymmdd "%year%%month%%day%"
echo date B mmddyyyy "%month%%day%%year%"
echo date C ddmmyyyy "%day%%month%%year%"
echo date D yymmdd "%yr%%month%%day%"
echo date E mmddyy "%month%%day%%yr%"
echo date F ddmmyy "%day%%month%%yr%"
pause
:: datetime.bat
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
3
@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"
相關問題
- 1. 批量重命名
- 2. 批量重命名文件
- 3. 批量重命名文件
- 4. 重命名批量文件
- 5. 批量重命名文件
- 6. CouchDb批量重命名
- 7. 批量重命名腳本
- 8. 命令行批量重命名
- 9. PowerShell命令批量重命名文件
- 10. 批量重命名文件擴展名
- 11. 批量重命名文件名爲「.csv」
- 12. 批量名稱空間重命名
- 13. 批量重命名文件變量
- 14. 批量重命名/重新命名爲視頻編碼
- 15. 批量重命名文件夾
- 16. 批量重命名擴展爲小寫
- 17. 批量多重命名工具
- 18. 使用Bash批量重命名文件
- 19. 如何批量重命名Tumblr標籤?
- 20. 在Windows中批量重命名
- 21. .7k文件批量重命名
- 22. 哈德森作業批量重命名
- 23. 在python中批量重命名
- 24. 批量重命名Git作者?
- 25. 批量重命名文件夾
- 26. 批量重命名文件(bash)
- 27. Linux批量重命名文件
- 28. FLA中的批量重命名鏈接
- 29. 批量重命名Dropbox衝突文件
- 30. ubuntu中批量重命名文件
什麼[谷歌](http://www.wilderssecurity.com/showpost.php?s= 69fff23adfbf254528fec9205c2d5532&p = 1447643&postcount = 7)? – Endoro