vbs 로 텍스트 순환 읽 기
그러나 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.txthttps://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
자,여기까지 만 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[VBS] 이메일 보내기텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.