2

Я нашел скрипт ArtOfWarfare в этой теме Windows 7 - отображать дату с помощью маленьких значков

Я думаю, что это здорово, но не хватает одного, года. Есть ли способ добавить год в сценарий и отобразить DayofWeek, Month, Day, year? Не получается просто добавить% year% после% day% этой строки кода: ren * .lnk "% dayofweek%,% month%% day% .lnk"

Хотелось бы, чтобы эта панель инструментов / скрипт работала на моем компьютере, просто очень хотел бы, чтобы отображался год. Цени любую помощь!

2 ответа2

0

Это изменение скрипта 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
)
0

Вот оригинальный код, который я видел на странице, на которую вы ссылались:

@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.

Добавьте переменную year (уже установленную в командном файле: функция getShortDate) в оператор переименования.

ren *.lnk %month% %day% %year% .lnk"

Также:

Версия Powershell (она заменяет весь пакетный файл, ИЛИ вы вводите его как блок сценария в запланированном задании или используете задания Powershell, чтобы запланировать его как задание):

cd <path  to link>; gci *.lnk | % { rename $_ "$(get-date -f "MM dd yy") .lnk" }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .