0
在我的bat脚本中,是否可以访问txt文件并逐行读取它。我的想法是检查行是否以标识符词开始(在我的例子中是1或2星*
或**
),但要做到这一点,我需要逐行读取文件。蝙蝠按行读取文件
在我的bat脚本中,是否可以访问txt文件并逐行读取它。我的想法是检查行是否以标识符词开始(在我的例子中是1或2星*
或**
),但要做到这一点,我需要逐行读取文件。蝙蝠按行读取文件
您可以使用VBScript
strToFind= WScript.Arguments(0)
strToFind = Replace(strToFind,"*","\*")
strFileName = WScript.Arguments(1)
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.OpenTextFile(strFileName)
Set objRE = New RegExp
objRE.IgnoreCase = False
objRE.Pattern = "^"&strToFind&".*"
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
Set Matches = objRE.Execute(strLine)
'WScript.Echo Matches.Count
For Each Match in Matches ' Iterate Matches collection.
WScript.Echo Match.Value
Next
Loop
objFile.Close
用法:
C:\test>cscript //nologo myscript.vbs "**" file
这里是我的发现:http://www.computing.net/howtos/show/batch-file-tip-reading-writing-every-line-of-a-file/61.html
希望帮助..
CODE:
@echo off
for /f "delims=] tokens=1*" %%a in ('find /v /n "" ^<%1') do (
echo.%%b
)