0

ファイル内のテキストを置き換える次の vbscript があります。それはまさに私が望むことをしますが、作成するパスごとにファイルの最後に空白行を追加します。「黒」を「赤」に置き換えてから「白」を「黄」に変更すると、テキスト ファイルの末尾に 2 行の空白行が追加されます。行を追加しないようにこれを変更する方法はありますか?

スクリプトは次のとおりです。

Const ForReading = 1
Const ForWriting = 2

strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)

strText = objFile.ReadAll
objFile.Close

strNewText = Replace(strText, strOldText, strNewText)

Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText

objFile.Close

ps - 構文は次のとおりです: cscript /nologo replace.vbs InputFile "OldText" "NewText"

4

3 に答える 3

2

objFile.WriteLine最後に改行文字を追加します。あなたはおそらく必要ですobjFile.Write

WriteLine は \r\n (またはシステム改行が何であれ) を追加します

于 2013-07-03T20:01:14.157 に答える
1

君の

strText = objFile.ReadAll

(おそらく) 末尾の EOL を含む、ファイルのすべてのコンテンツを読み取ります。(.ReadAll <> .ReadLine)

objFile.WriteLine strNewText

EOLを追加します。だから使う

objFile.Write strNewText
于 2013-07-03T20:03:28.650 に答える