findstr 按 space 拆分并显示第 3 个单词

findstr split by space and show 3rd word

2012年Windows我是运行net user localusername | findstr "logon"

其中 returns Last logon 9/8/2017 9:27:16 AM

我只想 return 每个帐户的日期都不一样。如何将其过滤为仅 return 9/8/2017?

这是我为 Windows 2016 所做的,效果很好,但 Windows 2012 不支持 grep 或 cut。

net user "{{ item }}" | grep "Last logon" | cut -d' ' -f21

其中 returns 9/8/2017

更新 由于@Mofi

,以下正在服务器上工作
for /F "tokens=3" %I in ('net user "test" 2^>nul ^| findstr "Last logon"') do @echo %I

使用 PowerShell 获取 LastLogon 时间戳非常容易。如果您使用的是受支持的 Windows 系统,则可以使用 PowerShell。

这可以放入 .bat 文件脚本中。

FOR /F "delims=" %%A IN ('powershell -NoLogo -NoProfile -Command ^
    "(Get-LocalUser -Name 'pwatson2_la').LastLogon -f 'd'"') DO (SET "LLD=%%~A")
ECHO LLD is %LLD%

更新 由于@Mofi

,以下内容正在服务器上运行
for /F "tokens=3" %I in ('net user "test" 2^>nul ^| findstr "Last logon"') do @echo %I