2015-02-05 4 views
1
에 .txt 파일에 I가 VBScript를 사용하는 방법을 알아 내려고 노력하고 있어요

문자열 바꾸기 :
1 - .txt 파일
2로 .csv 파일을 엽니 다 - 검색을 특정 문자열 텍스트 전체에 무작위로 위치한 텍스트 3 - 해당 문자열을 다른 문자열로 대체합니다.찾기 및 VBScript를

.txt 문서의 전체 줄을 바꾸는 방법을 배우는 데 도움이되는 기사를 찾았으나 지금까지 줄 안의 특정 문자를 바꿀만한 행운을 찾지 못했습니다.

감사합니다.

Const ForReading = 1 
Const ForWriting = 2 

'Setting up our objects and focusing on the text file. 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("C:\Users\Documents\Script Practice\TextFiles-2-4-15-Folder\ReadandWrite\Textlook.txt", ForReading) 


Do Until objFile.AtEndOfStream 

    strLine = objFile.ReadLine 


    If strLine = "Myer" Then 
     strLine = "Mike" 
    End If 

    strContents = strContents & strLine & vbCrLf 

Loop 



objFile.Close 


Set objFile = objFSO.OpenTextFile("C:\Users\Documents\Script Practice\TextFiles-2-4-15-Folder\ReadandWrite\Textlook.txt", ForWriting) 


objFile.Write(strContents) 
objFile.Close 

텍스트가 참조 파일을 말한다 :
켄 마이어
Fabrikam의

필라 에커
윙팁 장난감

제프 헤이 여기

내가 현재 사용하고있는 코드입니다
Fabrikam

엘렌 아담스
Northwind를 상인

마이어

(텍스트 파일의 끝). 그래서 본질적으로, 나는 "Mike"라는 독자적인 라인에있는 "Myer"를 성공적으로 변경하는 코드를 얻었습니다. 힘든 시간을 보내고있는 것은 첫 번째 라인의 "Myer"를 "Mike"로 변경하는 것입니다. 바라기를 바꿔서 이것은 약간의 것들을 명확하게하는 데 도움이됩니다 ... 저는이 문제에 대해 아주 새로운 것이므로 문제를 설명하기 위해 사용해야 할 언어가 확실하지 않습니다.

+0

지금까지 시도한 것을 보여 주시고 잘못된 것을 파악하는 데 도움을 줄 수 있습니다. –

+0

제 질문에 대한 수정 사항을 추가하여 도움을 받았습니다. – M199463

답변

1

.ReadAll()로 얻은 파일의 내용에 대해 바꾸기를 사용하고 결과를 다시 작성하십시오. 코드에서 :

Option Explicit 

Dim goFS : Set goFS = Createobject("Scripting.FileSystemObject") 
Dim goWAU : Set goWAU = WScript.Arguments.Unnamed 

WScript.Quit main() 

Function main() 
    main = 1 ' assume error 
    If 3 = goWAU.Count Then 
    If goFS.FileExists(goWAU(0)) Then 
     Dim s : s = goFS.OpenTextFile(goWAU(0)).ReadAll() 
     If 0 < Instr(s, goWAU(1)) Then 
      goFS.CreateTextFile(goWAU(0)).Write Replace(s, goWAU(1), goWAU(2)) 
      WScript.Echo "done" 
      main = 0 
     Else 
      WScript.Echo goWAU(1), "not found" 
     End If 
    Else 
     WScript.Echo goWAU(0), "does not exist" 
    End If 
    Else 
    WScript.Echo "need 3 args: fspec, find, replacement" 
    End If 
End Function 

출력 : 실제 세계의 문제를 해결하기 위해 무엇이 필요한지 결정하기 위해 데모

copy con 28350055.csv 
1,2,3 
4,5,6 
^Z 

cscript 28350055.vbs 28350055.csv 5 4711 
done 

type 28350055.csv 
1,2,3 
4,4711,6 

cscript 28350055.vbs 28350055.csv 5 4711 
5 not found 

cscript 28350055.vbs 28350055.cs 5 4711 
28350055.cs does not exist 

사용.