VBS(Visual Basic Script)
[Visual Basic] 비주얼베이직 스크립트 (VBScript), 특정 로그파일 등 문자열 쪼개기로 정제시키기
안산드레아스
2023. 7. 12. 14:38
반응형
로그같이 지저분한 파일들을 모두 Space 기준으로 쪼갠 후
배열으로 저장시킴.
필요없는 문자열들 예를들면 mm나 : 등등 모두 null으로 변경 시키기 (Replace 함수)
최종적으로 , 콤마를 기준으로 데이터만 출력하는 파일을 생성.
샘플 스크립트
여기서 쪼개진 splitedLine 은 Array 타입이다.
Dim import, export
import = "스페이스바로 분리시킬 파일.txt"
export = "결과 출력파일 이름.txt"
Call ExtractComponentInfo(import, export)
Function ExtractComponentInfo(inputFile, outputFile)
Dim objFSO, objFileIn, objFileOut
Dim strLine, splitedLine
Dim comp1, comp2, dist, minz
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFileIn = objFSO.OpenTextFile(inputFile, 1)
Set objFileOut = objFSO.CreateTextFile(outputFile, True)
Do Until objFileIn.AtEndOfStream
strLine = objFileIn.ReadLine()
splitedLine = Split(strLine, " ")
' UBound(splitedLine) 배열의 크기가 4인지 확인 (0~4 까지 총 5개가 들어있는 배열)
If UBound(splitedLine) = 4 Then
comp1 = splitedLine(1)
comp2 = Replace(splitedLine(4), ":", "")
End If
If UBound(splitedLine) > 4 Then
dist = Replace(Replace(splitedLine(9), "mm", ""), ",", "")
minz = Replace(splitedLine(13), "mm", "")
objFileOut.WriteLine comp1 & "," & comp2 & "," & dist & "," & minz
End If
Loop
objFileIn.Close
objFileOut.Close
Set objFileIn = Nothing
Set objFileOut = Nothing
Set objFSO = Nothing
End Function
반응형