0
私はスクリプトを書いていますが、txtファイルを読み込んでその行を見つけて置き換える方法を知りたかったのです。例えばVBScriptで動的に行を更新するには?
、私は次のようになり、その中にいくつかのパラメータ線を有しImportParms.txtと呼ばれるtxtファイルがある場合:
cmdFile=E:\Jobs\UPCS\Parms\ImportParms.upcs_cmd Process=StandardImport LogFile=e:\JOBS\UPCS\Logs\ImportLog.txt File=E:\jobs\UPCS\TestImportFile.txt ImportRejects=No RenameToOld=No RenameDateStamp=No ResultsReport="Public Reports\ImportResult" LinkExisting=Custom1
私はFile=something.txt
それが実行されるたびに言うの行を更新したいが。だから代わりに
sCmd = sBotCmd & " file=""" & sUtilOut &""" "
を有しているとそれだけでこのようになりますexeファイルを実行している私のコードの一部から
sCmd = sBotCmd
を言うだろう:
'Run processbot to update
Set oFile = oFSO.GetFile(sUtilOut)
If oFile.Size <> 0 Then
strFile = sWORK & "\parms\" & BOTPARMFILE
Set objFile = objFS.OpenTextFile(strFile)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
'If first for characters = "file"
'delete this line
strFile.Write "file=" & sUtilOut
'End If
Loop
objFile.Close
sBotCmd = """"& sWORK & "\" & BOTPROG & """ " _
& " cmdFile=""" & sWORK & "\parms\" & BOTPARMFILE & """ "
sCmd = sBotCmd
Call OutMsg(isVerbose, isVerbose, sSysLog, "Command: " & sCmd)
iRetC = oShell.Run(sCmd, 0, True)
Call OutMsg(isVerbose, isVerbose, sSysLog, "RC: " & iRetC)
If iRetC <> 0 Then
Call OutMsg(isVerbose, isVerbose, sSysLog, "Exiting with code " _
& rcPROCBOT)
WScript.Quit(rcPROCBOT)
End If
End If
感謝を!それは私が探していたものですが、私はVBScriptでRegExを使うことができないことを知りませんでした。私はファイル全体を書き直す必要があると思っていましたが、行ごとに行い、 1つ置き換えてください、しかし、この方法ははるかに良く見えます! –