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