2010-10-01 8 views
0

Dans mon script bat, est-il possible d'accéder à un fichier txt et de le lire ligne par ligne. L'idée que j'ai est de vérifier si la ligne commence par un mot d'identification (dans mon cas 1 ou 2 étoiles * ou **) mais pour ce faire j'ai besoin de lire le fichier ligne par ligne.bat lire un fichier ligne par ligne

Répondre

2

vous pouvez utiliser 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 

Utilisation:

C:\test>cscript //nologo myscript.vbs "**" file 
Questions connexes