bat добавляет строку под конкретным номером строки - PullRequest
0 голосов
/ 01 октября 2010

Я использую этот подход, чтобы добавить строку SOME TEXT TO BE ADDED в начало существующего файла. Есть ли способ указать точный номер строки, чтобы добавить новый текст. Например, до последней строки (и добавить разрыв строки) или после 3-й строки (и добавить разрыв строки)

copy original.txt temp.txt
echo.SOME TEXT TO BE ADDED>original.txt
type temp.txt >>original.txt
del temp.txt

1 Ответ

4 голосов
/ 01 октября 2010

Vbscript

strLineNum = WScript.Arguments(0)
strAddText= WScript.Arguments(1)
strFileName = WScript.Arguments(2)
Set objFS = CreateObject( "Scripting.FileSystemObject" )
Set objFile = objFS.OpenTextFile(strFileName)
Do Until objFile.AtEndOfStream
    linenum=objFile.Line
    strLine = objFile.ReadLine
    If linenum = CInt(strLineNum) Then
        WScript.Echo strAddText
    End If
    WScript.Echo strLine
Loop       
objFile.Close

Использование:

C:\test> cscript //nologo myscript.vbs 2 "text to insert" file >temp
C:\test> ren temp file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...