Как получить дату изменения файла в 24-часовом формате с помощью пакетного файла windows - PullRequest
0 голосов
/ 05 августа 2020

Из этого сообщения удалось получить дату изменения файла

ECHO Last-Modified Date   : %%~t? 

returns YYYY-MM-DD HH:MM <AM/PM>. 

Однако мне нужно, чтобы это было в 24-часовом формате.

Как сделать сделать это?

TIA!

1 Ответ

1 голос
/ 05 августа 2020

С пакетным файлом вы можете сделать что-то вроде этого:

@echo off
Title Get file modification date in 24 hour format using windows batch file
set "DesktopFolder=%userprofile%\Desktop"
set "Ext=txt"
CD /D "%DesktopFolder%"
Setlocal EnableDelayedExpansion
@FOR /F "delims=" %%A IN ('dir /B "%DesktopFolder%\*.%Ext%" 2^>nul') DO (
    SET /a "Count+=1"
    SET "File[!Count!]=%%~fA"
)

@For /L %%i in (1,1,%Count%) do (
    Call :GetLastModifiedDate "!File[%%i]!" LastModifiedDate
    echo "!File[%%i]!"  "!LastModifiedDate!"
)
Pause & EXIT
::----------------------------------------------------------------------------
:GetLastModifiedDate <File> <LastModifiedDate>
Set "vbsfile=%Temp%\%~n0.vbs"

>"%vbsfile%" (
    echo Set FSO=CreateObject("Scripting.FileSystemObject"^)
    echo WScript.Echo FSO.GetFile("%~1"^).DateLastModified
)
@for /f "delims=" %%a in ('cscript //NoLogo "%vbsfile%"') do Set "%2=%%a"
Exit /B
::----------------------------------------------------------------------------
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...