标题: [系统相关] [已解决]批处理for命令怎样只获取命令返回内容的第一行? [打印本页]
作者: Hello123World 时间: 2011-2-19 17:31 标题: [已解决]批处理for命令怎样只获取命令返回内容的第一行?
- @echo off
- for /f "skip=1 delims=. tokens=1" %%i in ('Wmic Path Win32_NTLogEvent where
- "EventCode=6005" get TimeGenerated') do set a=%%i
- pause
复制代码
想利用for获取最后一次开机时间
[ 本帖最后由 Hello123World 于 2011-2-19 19:12 编辑 ]
作者: wc726842270 时间: 2011-2-19 17:39
如果“最后一次开机时间”是最后一行的话,就在PAUSE前加个ECHO %A%
作者: wc726842270 时间: 2011-2-19 17:47
没有试过(也试不了)- @echo off&setlocal enabledelayedexpansion
- set n=0
- for /f "skip=1 delims=. tokens=1" %%i in ('Wmic Path Win32_NTLogEvent where
- "EventCode=6005" get TimeGenerated') do (set /a N+=1&SET !N!_=%%i)
- set 2_
- pause
复制代码
[ 本帖最后由 wc726842270 于 2011-2-19 17:58 编辑 ]
作者: Batcher 时间: 2011-2-19 18:43
- @echo off
- for /f "skip=1 delims=." %%i in ('Wmic Path Win32_NTLogEvent where "EventCode=6005" get TimeGenerated') do (
- set a=%%i
- goto :next
- )
- :next
- echo %a%
- pause
复制代码
作者: Hello123World 时间: 2011-2-19 18:58 标题: 回复 4楼 的帖子
for 中能加goto的啊。
batcher亲自出马了!
作者: CrLf 时间: 2011-2-19 20:20
最后一次开机的日期时间肯定最大嘛,可以用sort- @echo off
- for /f "skip=1 delims=." %%i in ('Wmic Path Win32_NTLogEvent where "EventCode=6005" get TimeGenerated^|sort') do set a=%%i
- echo %a%
复制代码
作者: Hello123World 时间: 2011-2-20 14:06 标题: 回复 6楼 的帖子
你的算法很好,但是回显的结果是:TimeGenerated
怎么解决?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |