使用vbscript替换文件中的字符串时遇到问题
我有一个包含以下数据的文本文件使用vbscript替换文件中的字符串时遇到问题,vbscript,Vbscript,我有一个包含以下数据的文本文件 mkdir language 这是我的vbscript,它替换了文本文件中的语言字符串 Const ForReading = 1 Const ForWriting = 2 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\Scripts\Text.txt", ForReading) strText = objFile.Re
mkdir language
这是我的vbscript,它替换了文本文件中的语言字符串
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Text.txt", ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "language", "english,french,spanish")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Text.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close
我得到输出mkdir英语,法语,西班牙语,但我想在文本文件输出如下所示
mkdir english
mkdir french
mkdir spanish
如何实现这一点请帮助在这里尝试以下变化:
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Text.txt", ForReading)
strText = objFile.ReadAll
objFile.Close
Set objFile = objFSO.OpenTextFile("C:\Scripts\Text.txt", ForWriting)
For Each strLanguage In Array("english", "french", "spanish")
objFile.WriteLine Replace(strText, "language", strLanguage)
Next
objFile.Close
用于从数组生成字符串:
>> c = "mkdir "
>> l = Split("english,french,spanish", ",")
>> WScript.Echo c & Join(l, vbCrLf & c)
>>
mkdir english
mkdir french
mkdir spanish
当然,c
可能来自文件
(但我怀疑您的简化示例中没有显示您的实际问题)这也会起作用
Const ForReading = 1
Const ForWriting = 2
Dim langs
langs = Array("english","french","spanish")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("Text.txt", ForReading)
strText = objFile.ReadAll
objFile.Close
tempTxt = ""
strNewText = ""
For Each i in langs
tempTxt = "mkdir " + i + vbCrLf
strNewText = strNewText + tempTxt
Next
strNewText = Replace(strText, "mkdir language", strNewText)
Set objFile = objFSO.OpenTextFile("Text.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close