Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Вписывает имя компьютера в файл, строку 10, позицию 29, а после него - остаток строки (если есть)
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set Target=test.txt

Set i=0
For /F "usebackq delims=" %%A In ("%Target%") Do (
	Set /A i+=1
	If Not !i!==10 (
		Echo %%A>>"edited_%Target%"
	) Else (
		Set String=%%A
		Call :GetLenght "!String!"
		If !strLenght! GTR 29 Set /A Shift=!strLenght!-29
		Call :WriteString !Shift!
	)
)
Exit

:GetLenght
Rem Получение длины текстовой строки.
Set /A strLenght=0
Set $String=%~1
:charCounter
If "%$String%"=="" Exit /B
Set /A strLenght+=1
Set $String=%$String:~1%
GoTo charCounter

:WriteString
If Not "%~1"=="" (
	Echo !String:~,29!%ComputerName%!String:~-%~1!>>"edited_%Target%"
) Else (
	Echo !String:~,29!%ComputerName%>>"edited_%Target%"
)

Отправлено: 09:48, 08-03-2012 | #7