Batch file 如何使用windows批处理文件以24小时格式获取文件修改日期

Batch file 如何使用windows批处理文件以24小时格式获取文件修改日期,batch-file,Batch File,通过post,我们可以获得文件修改日期 ECHO Last-Modified Date : %%~t? returns YYYY-MM-DD HH:MM <AM/PM>. ECHO上次修改日期:%%~t? 返回YYYY-MM-DD HH:MM。 然而,我需要它在24小时的格式 怎么做 蒂亚 使用批处理文件,您可以执行以下操作: @echo关闭 标题使用windows批处理文件以24小时格式获取文件修改日期 设置“DesktopFolder=%userprofile%\D

通过post,我们可以获得文件修改日期

ECHO Last-Modified Date   : %%~t? 

returns YYYY-MM-DD HH:MM <AM/PM>. 
ECHO上次修改日期:%%~t?
返回YYYY-MM-DD HH:MM。
然而,我需要它在24小时的格式

怎么做


蒂亚

使用批处理文件,您可以执行以下操作:

@echo关闭
标题使用windows批处理文件以24小时格式获取文件修改日期
设置“DesktopFolder=%userprofile%\Desktop”
设置“Ext=txt”
CD/D“%DesktopFolder%”
Setlocal EnableDelayedExpansion
@对于/F“delims=“%%A IN('dir/B”%DesktopFolder%\*。%Ext%“2^>nul”)的操作(
设置/a“计数+=1”
设置“文件[!计数!]=%%~fA”
)
@对于(1,1,%Count%)中的/L%%i,请执行以下操作(
调用:GetLastModifiedDate“!文件[%%i]!”LastModifiedDate
echo“!文件[%%i]!”!LastModifiedDate!”
)
暂停和退出
::----------------------------------------------------------------------------
:GetLastModifiedDate
设置“vbsfile=%Temp%\%~n0.vbs”
>%vbsfile%(
echo Set FSO=CreateObject(“Scripting.FileSystemObject”^)
echo WScript.echo FSO.GetFile(“%~1”^).DateLastModified
)
@对于('cscript//NoLogo“%vbsfile%”中的/f“delims=”%%a,请设置“%2=%%a”
退出/B
::----------------------------------------------------------------------------

一种方法是在字符串包含PM@Marged对于时间范围
12:00 PM
12:59 PM
而言,仅将
12
添加到包含
PM
的字符串上的小时是错误的。这仅适用于时间范围
01:00 PM
11:59 PM
。因此,在使用
12
进行加法之前,如果小于
12
,则还需要评估小时值。