vbs 로 텍스트 순환 읽 기

3951 단어 vbs텍스트 순환
테스트 에서 URL 데 이 터 를 읽 고 탐색 해 야 하기 때문에 QTP 자체 의 table 을 사용 하면 여러 가지 읽 기 방식 을 실현 할 수 있 습 니 다.그러나 tabel 은 엑셀 로 저장 되 어야 하기 때문에 엑셀 이 설치 되 어 있 지 않 은 기계 나 vsita 기기 에서 이 부분 스 크 립 트 를 실행 하 는 데 문제 가 발생 할 수 있 습 니 다.불필요 한 번 거 로 움 을 위해 txt 를 사용 하여 사이트 데 이 터 를 저장 합 니 다.
그러나 vbs 는 파일 읽 기 위 치 를 설정 하 는 함수(python 제공)를 제공 하지 않 은 것 같 습 니 다.인터넷 에서 이 사용 가능 한 코드 를 찾 지 못 했 습 니 다.아마 여러분 들 은 저 처럼 저급한 요구 가 거의 없 을 것 입 니 다.사실 핵심 은 텍스트 를 읽 은 마지막 줄 을 발견 하면 이 파일 을 다시 열 면 된다 는 것 이다.
코드:

msgbox(GetIni("d://vbscript//config.txt"))
Function GetIni(strIniFilePath ) 
 Const ForReading = 1
 Const TriStateTrue = -2
 Dim myFso 
 Dim MyFile 
 Set myFso = CreateObject("Scripting.FileSystemObject")
 Set MyFile = myFso.OpenTextFile(strIniFilePath,ForReading,False,TriStateTrue)
   GetIni = MyFile.ReadLine()
   If MyFile.AtEndOfStream=True Then 
   		Set MyFile = Nothing 
   		Set MyFile = myFso.OpenTextFile(strIniFilePath,ForReading,False,TriStateTrue)
   End If 
 MyFile.Close
 Set MyFile = Nothing
 Set myFso = Nothing
End Function
config.txt
https://www.jb51.net
위의 코드 는 비교적 간단 하고 첫 줄 의 데이터 만 얻 을 수 있 으 므 로 아래 코드 로 프로필 을 읽 는 것 을 추천 합 니 다.
다음은 설정 파일 을 읽 는 함수 입 니 다.
이 함 수 는 다음 형식의 프로필(.ini,.txt,.inf)에 만 적 용 됩 니 다.
[Mark1]
key1=key1value
key2=key2value
........
[Mark2]
key1=key1value
key2=key2value
핵심 코드

'************************************************************
'  :      (.ini,.txt  )      ,    
'  :FilePath -          
' Mark -       
' Key -           
'    :Ret = GetConfig("d:\configure.ini","Computer","IP")
'  :    
'  :2013-06-20
'************************************************************
Function GetConfig(FilePath,Mark,Key)
 Dim fso, Str_ReadLine
 Set fso = CreateObject("Scripting.FileSystemObject")
 '          
 If fso.FileExists(FilePath) Then
 '       ,      
 Flag = 0
 '      
 Set ConfigFile = fso.opentextfile(FilePath, 1)
 '         
 Do
 Str_ReadLine = ConfigFile.ReadLine
 WScript.Echo Str_ReadLine
 '            
 If Str_ReadLine <> "" Then
 '                     
 If LCase(Trim(Str_ReadLine))="[" & Lcase(Mark) & "]" Then
 '        
 Flag = 1 
 '                 ,                 
 '                
 Do
 Str_ReadLine = ConfigFile.ReadLine
 retNum = InStr(Str_ReadLine,"=")
 '             
 If retNum > 0 Then
 '                  
 If Trim(LCase(Left(Str_ReadLine,retNum-1)))= Trim(LCase(Key)) Then
 '           
 GetConfig = Trim(Right(Str_ReadLine,Len(Str_ReadLine)-retNum))
 '   ,    
 Exit Function 
 End If
 End If
 '                 
 If (InStr(Str_ReadLine,"[")>0 And InStr(Str_ReadLine,"]")>0) Then
 '                 
 Flag = 0
 '    
 Exit Function
 End If
 Loop Until (Flag = 0 Or ConfigFile.AtEndOfStream)
 End If
 End If 
 Loop Until ConfigFile.AtEndOfStream
 '    
 ConfigFile.Close
 Set fso = Nothing
 Else
 '     ,      
 MsgBox "    "&"[" & FilePath &"]   ,         ."
 End If
End Function
실례:
d:\config\environment.ini 파일 의[Computer 2]아래 IP 항목 의 값 을 읽 어야 합 니 다.파일 내용 은 다음 과 같 습 니 다.
[Computer1]
ComputerName=Computer1
IP=192.168.1.1
[Computer2]
ComputerName=Computer2
IP=192.168.1.2
이상 함 수 를 사용 하면 획득 가능
IP = GetConfig("d:\config\environment.ini","Computer2","IP")
Msgbox IP
자,여기까지 만 하면 됩 니 다.

좋은 웹페이지 즐겨찾기