Il giorno Tue, 01 Nov 2011 17:37:15 +0100, Burocropoli
Post by Burocropolicon
findstr "Inizio.*Fine" file.txt
ottengo tutta la riga che risponde al criterio.
Ma è possibile ottenere solo la parte corrispondente a .*?
se non è possibile con findstr esiste un altro programma in grado di farlo?
Questo trova le righe che iniziano con "Inizio" e finiscono con "Fine", ma restituisce
solo la parte compresa tra le due parole.
Inizio="Inizio"
Fine="Fine"
a = File_ReadEntireFile ( "c:\documenti\prova.txt" )
b = Split(a,vbCrLf)
For i=1 To UBound(b)
Ris= LeftOf(b(i),Fine)
Ris= RightOf(Ris, Inizio)
If Ris <>"" Then WScript.Echo Ris
next
WScript.Quit
'------------------------------------------------------------------------
' string File_ReadEntireFile( sFileName )
'------------------------------------------------------------------------
' Legge l'intero contenuto del file
' Ritorna il testo letto
'------------------------------------------------------------------------
Function File_ReadEntireFile( ByVal sFileName )
Dim opfs, fp, retstring, ForReading
ForReading = 1 'Open a file for reading only. You can't write to this file
On Error Resume Next
File_ReadEntireFile = ""
Set opfs = CreateObject("Scripting.FileSystemObject")
if Err <> 0 then
Exit Function
end if
Set fp = opfs.OpenTextFile( sFileName, ForReading, False )
if Err <> 0 then
set opfs = nothing
Exit Function
end if
retstring = retstring + fp.Readall
fp.Close
set opfs = nothing
File_ReadEntireFile = retstring
Err.Clear
On Error Goto 0
End Function
'--------------------------------------------------------------------------------------------------
DATA MANIPULATION - STRING
Function LeftOf( sText, sItem )
Dim nPos
Dim sResult
nPos = InStr( sText, sItem )
If nPos >0 Then
sResult = Left( sText, nPos -1 )
End If
LeftOf = sResult
End Function
Function RightOf( sText, sItem )
Dim nPos
Dim sResult
nPos = InStr( sText, sItem )
If nPos >0 Then
sResult = Mid( sText, nPos + Len( sItem ) )
End If
RightOf = sResult
End Function
--
Giovanni Cenati (Bergamo, Italy)
Write to "Reventlov" at katamail com
http://digilander.libero.it/Cenati (Esempi e programmi in VbScript)
--