Board logo

标题: 求助,BAT读取指定文本内容第几行并在Popup反映出来 [打印本页]

作者: dragonamd     时间: 2008-8-22 06:49    标题: 求助,BAT读取指定文本内容第几行并在Popup反映出来
用BAT检测C盘最新生成的.TXT文件名字并且读取文本内容的第2行然后用VBS 的Popup显示出这个文件的名字和内容,。

作者: HAT     时间: 2008-8-22 09:55
@echo off
for /f "tokens=*" %%\ in ('dir /b /tc /o-d /a C:\*.txt') do (
set NewFile=%%\
goto :next
)
:next
for /f "tokens=1,2* delims=:" %%a in ('findstr /n . "C:\%NewFile%"') do (
if "%%a" equ "2" (
set ScdLine=%%b
goto :show
)
)
:show
mshta vbscript:createobject("wscript.shell").popup("%ScdLine%")(window.close) & exit

作者: slore     时间: 2008-8-22 10:39
可以直接skip嘛

作者: HAT     时间: 2008-8-22 10:41
@echo off
for /f "tokens=*" %%\ in ('dir /b /tc /o-d /a C:\*.txt') do (
set NewFile=%%\
goto :next
)
:next
for /f "skip=1 tokens=*" %%a in ('findstr . "C:\%NewFile%"') do (
set ScdLine=%%a
goto :show
)
:show
mshta vbscript:createobject("wscript.shell").popup("%ScdLine%")(window.close) & exit

作者: dragonamd     时间: 2008-8-22 13:27
比如我的第2行中 (1656166) 能不能去掉括号直接是 1656166

作者: HAT     时间: 2008-8-22 16:18
全角括号()?
还是半角括号()?

作者: dragonamd     时间: 2008-8-22 19:00
( 是这样的

作者: HAT     时间: 2008-8-22 20:36
@echo off
for /f "tokens=*" %%\ in ('dir /b /tc /o-d /a C:\*.txt') do (
set NewFile=%%\
goto :next
)
:next
for /f "skip=1 tokens=*" %%a in ('findstr . "C:\%NewFile%"') do (
set ScdLine=%%a
goto :show
)
:show
mshta vbscript:createobject("wscript.shell").popup("%ScdLine:~1,-1%")(window.close) & exit