我在这个帖子里找到了 ArtOfWarfare 的脚本Windows 7 - 使用小图标显示日期
我认为它很棒,但是缺少一件事,即年份。有没有办法将年份添加到脚本中并使其显示星期几、月份、日期、年份?简单地在以下代码行的 %day% 后添加 %year% 不起作用:ren *.lnk "%dayofweek", %month% %day% .lnk"
很想让这个工具栏/脚本在我的 PC 上运行,只是真的很想显示年份。非常感谢任何帮助!
答案1
这是我在您链接的页面上看到的原始代码:
@echo off
setlocal enabledelayedexpansion
cd /d "%~dp0\Date"
call :getShortDate
ren *.lnk %month%-%day%.lnk
exit /b
:getShortDate
for /f "skip=1 tokens=1-3" %%A in ('wmic path Win32_LocalTime get day^,month^,year /value /format:table') do (
set day=00%%A
set day=!day:~-2!
set month=00%%B
set month=!month:~-2!
set year=%%C
set year=!year:~-2!
exit /b
)
从这个帖子,由 and31415 发布,由 ArtofWarfare 编辑。
将年份变量(已在批处理文件:getShortDate函数中建立)添加到重命名语句中。
ren *.lnk %month% %day% %year% .lnk"
还:
Powershell 版本(这将替换整个批处理文件,或者您将其作为脚本块输入到计划任务中,或使用 Powershell Jobs 将其安排为作业):
cd <path to link>; gci *.lnk | % { rename $_ "$(get-date -f "MM dd yy") .lnk" }
答案2
对 ArtofWarefare 脚本的此编辑添加了年份。工具栏宽度可能需要扩展(通过解锁任务栏)才能容纳所有参数。
echo off
setlocal enabledelayedexpansion
cd /d "%~dp0\Date"
call :getShortDate
ren *.lnk "%dayofweek% %month% %day%, %year% .lnk"
exit /b
:getShortDate
for /f "skip=1 tokens=1-4" %%A in ('wmic path Win32_LocalTime get day^,dayofweek^,month^, year /value /format:table') do (
set day=%%A
if "%%B"=="0" set dayofweek="Sun"
if "%%B"=="1" set dayofweek="Mon"
if "%%B"=="2" set dayofweek="Tue"
if "%%B"=="3" set dayofweek="Wed"
if "%%B"=="4" set dayofweek="Thu"
if "%%B"=="5" set dayofweek="Fri"
if "%%B"=="6" set dayofweek="Sat"
if "%%B"=="7" set dayofweek="Sun"
if "%%C"=="1" set month="Jan"
if "%%C"=="2" set month="Feb"
if "%%C"=="3" set month="Mar"
if "%%C"=="4" set month="Apr"
if "%%C"=="5" set month="May"
if "%%C"=="6" set month="Jun"
if "%%C"=="7" set month="Jul"
if "%%C"=="8" set month="Aug"
if "%%C"=="9" set month="Sep"
if "%%C"=="10" set month="Oct"
if "%%C"=="11" set month="Nov"
if "%%C"=="12" set month="Dec"
set year=%%D
exit /b
)