функция bat для редактирования файла (добавить строку в начало файла) - PullRequest
5 голосов
/ 01 октября 2010

В моем скрипте bat, что я использую, чтобы открыть файл с именем open.txt и добавить следующую строку в начало

SOME TEXT TO BE ADDED

Можно ли обрабатывать подобные небольшие изменения в скрипте .bat

Ответы [ 2 ]

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

Конечно, с чем-то вроде:

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

Первая строка создает временную копию файла.Вторая строка заменяет файл строкой, которую вы хотите добавить (обратите внимание, в частности, на отсутствие пробелов между добавляемым текстом и оператором перенаправления > - echo имеет неприятную привычку включать такие пробелы).

Третья строка использует оператор перенаправления добавления >>, чтобы добавить исходный файл в конец нового, затем последняя строка удаляет временный файл.

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

вы можете сделать просто echo с и перенаправление.но если вы можете скачать sed для windows , вот как вы можете это сделать

C:\test> sed -i.bak "1 i text" file

Если загрузка невозможна, вы можете использовать vbscript

strAddText= WScript.Arguments(0)
strFileName = WScript.Arguments(1)
Set objFS = CreateObject( "Scripting.FileSystemObject" )
Set objFile = objFS.OpenTextFile(strFileName)
WScript.Echo strAddText
Do Until objFile.AtEndOfStream
    WScript.Echo objFile.ReadLine
Loop    

Для использования:

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