CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Ответить
Аватара пользователя
lexis1980

CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Сообщение lexis1980 »

Добрый день всем знатокам bat/cmd. Прошу вашей помощи в написании файлика т.к. сам в этом мало что смыслю. Есть задача. Нужно в файле *.PS сделать вставку вида ("__"_____2012.г.), но она должна находится в определенном месте. файл PS содержит только текст и предназначен для печати на принтере. Если я правильно понял, указав значения строки и столбца можно задать место начала вставки. В файле встречаются пустые строки. Просматривая эту ветку форума я видел вариант вставки, но там батник не работал при наличии в файле пустых строк. Помогите пожалуйста реализовать эту идею.
Аватара пользователя
lchou

Re: CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Сообщение lchou »

Если исходный файл это просто текст, то на VBS примерно так:



Код:

Код: Выделить всё

Dim fso, vSrcStream, vDestStream
Dim strInsertText, strLine, lngLineLen, lngLineIndex
Const FILE_SRC = "R:\1.txt"  'исходный файл
Const FILE_DEST = "R:\2.txt"  'измененный файл
Const POS_COLUMN = 50  'столбец
Const POS_ROW = 13  'строка
Const INSERT_TEXT = """__""_____2012Ј."  'что вставлять
Set fso = CreateObject("Scripting.FileSystemObject")
Set vSrcStream = fso.OpenTextFile(FILE_SRC, 1, False, 0)
Set vDestStream = fso.OpenTextFile(FILE_DEST, 2, True, 0)
While Not vSrcStream.AtEndOfStream
	lngLineIndex = lngLineIndex + 1
	strLine = vSrcStream.ReadLine
	If lngLineIndex = POS_ROW Then
		lngLineLen = Len(strLine)
		If lngLineLen >= POS_COLUMN Then
			vDestStream.WriteLine Left(strLine, POS_COLUMN - 1) & INSERT_TEXT & Mid(strLine, POS_COLUMN)
		Else
			vDestStream.WriteLine strLine & String(POS_COLUMN - lngLineLen - 1, " ") & INSERT_TEXT
		End If
	Else
		vDestStream.WriteLine strLine
	End If
Wend
vSrcStream.Close
vDestStream.Close
MsgBox "OK"
Аватара пользователя
lexis1980

Re: CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Сообщение lexis1980 »

Уважаемый lchou, Ваше предложение отлично работает!!! Единственный момент, есть ли возможность запустить скрипт из bat файла? и далее вернуться обратно в bat и продолжить выполнение батника. Если есть идеи, прошу помочь. Заранее спасибо.
Аватара пользователя
lexis1980

Re: CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Сообщение lexis1980 »

Огромное Вам спасибо Iska, lchou, !!! Я на сайте первый раз. Ваша компетентность в данном вопросе просто ПОРАЗИЛА. Одним словом БЛАГОДАРЮ!!! Оперативно и грамотно!!!
Аватара пользователя
lexis1980

Re: CMD/BAT - вставка текста в *.PS (DOS кодировка) в нужную строку и столбец

Сообщение lexis1980 »

lchou, Помогите пожалуйста скриптом для замены одного текста на другой в текстовом файле DOS кодировки. Заранее благодарю!!!
Ответить

Вернуться в «Скриптовые языки администрирования Windows»