Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вставить строчку из одного txt в оределённое место другого txt

Ответить
Настройки темы
[решено] Вставить строчку из одного txt в оределённое место другого txt

Аватара для ZeroCrash

Пользователь


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


Конфигурация

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


Вот часть кода:
Код: Выделить весь код
$Handle = FileFindFirstFile ( "*.txt" )
$FilePath = FileFindNextFile ($Handle)
$First = FileReadLine ($FilePath, 4)
Переменная $First запоминает 4 строку текстового файла. Нужно чтобы скрипт эту строку вставил в текстовый файл "C:\Documents and Settings\Администратор\1.txt" на четвёртую строчку после первых 8 символов в этой строке. Пример:
....
ник: qrqwrqrq
пароль: "сюда нужно вставить $First"
....

-------
Я НЕвкотакте!


Отправлено: 22:53, 04-07-2009

 

Аватара для Yashied

Старожил


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

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


_FileWriteToLine()

Отправлено: 23:05, 04-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для proxy

Старожил


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

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


пример:

Код: Выделить весь код
Local $hSerch = FileFindFirstFile(@ScriptDir & "\*.txt" )
Local $sFile1Path = FileFindNextFile($hSerch)
Local $sFile1Text = FileReadLine($sFile1Path, 4)
FileClose($hSerch)

Local $sFile2Path = @ScriptDir & '\test.txt'
Local $sFile2Text = FileRead($sFile2Path)

Local $sResult = StringRegExpReplace($sFile2Text, '(.*\n.*\n.*\n.{4,4})(.*)', '\1 "' & $sFile1Text & '" \2')

MsgBox(0, '', $sResult)

Local $hFile = FileOpen($sFile2Path, 2)
FileWrite($hFile, $sResult)
FileClose($hFile)

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 23:15, 04-07-2009 | #3


Googler


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

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


Цитата proxy:
пример »
- не понял первых 4-х строк скрипта: найти второй TXT-файл?...
- твой RegExp меняет в каждой 4-й строке ...скорее так:
Код: Выделить весь код
$sResult = StringRegExpReplace($sFile2Text,'^((.*\n){3}.{8}).*','\1 "'& $sFile1Text &'"')

Цитата ZeroCrash:
на четвёртую строчку после первых 8 символов в этой строке »
может лучше искать не по номеру строки, а по содержимому?.. типа найти в одном файле строку, начинающуюся со слова "пароль: " и заменить на текст 4-й строки из другого файла?

Отправлено: 03:32, 05-07-2009 | #4


Аватара для ZeroCrash

Пользователь


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

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


Цитата amel27:
может лучше искать не по номеру строки, а по содержимому?.. типа найти в одном файле строку, начинающуюся со слова "пароль: " и заменить на текст 4-й строки из другого файла? »
нужно чтобы в начале строчки обязательно оставалось слово "пароль: " в тексте 4-й строки другого файла этого слова нет и не будет.

-------
Я НЕвкотакте!


Отправлено: 17:56, 06-07-2009 | #5


Googler


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

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


ZeroCrash, я лишь о том, что не стОит себя искусственно ограничивать, если в 1-м файле строка с паролем может оказаться не на 4-й строке:
Код: Выделить весь код
$sFile1 = "C:\TEST\file1.txt"
$sFile2 = "C:\TEST\file2.txt"

$sPass = FileReadLine($sFile2, 4)
$sText = StringRegExpReplace(FileRead($sFile1), '(?m)^([Пп][Аа][Рр][Оо][Лл][Ьь]:).*', 'Пароль: "' & $sPass &'"')
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:15, 07-07-2009 | #6


Аватара для ZeroCrash

Пользователь


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

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


amel27, понятно. Спасибо, это удобно, хотя и не требуется в моём случае

-------
Я НЕвкотакте!


Отправлено: 20:10, 08-07-2009 | #7


Аватара для tweakos

Старожил


Автор проектов


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

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


ZeroCrash,
такой вариант:
Код: Выделить весь код
$Handle = FileFindFirstFile ( "*.txt" )
$FilePath = FileFindNextFile ($Handle)
$First = FileReadLine ($FilePath, 4)
$1="пароль:"
$2=('пароль:'&$first)
_ReplaceStringInFile ("путь_до_файла_в_который_надо_записать_$first",$1,$first)

-------
Аддон [XpAnimateStyle] Анимированные вход/перезагр/выкл в WinXp / New Autorun Construct Alpha
/
LogonUI&Logo Changer / Theme patcher программа изменения элементов тем оформления
/
персонализация (смена обоев через фэйд)


Отправлено: 07:35, 13-07-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вставить строчку из одного txt в оределённое место другого txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интернет - [решено] Пропала синхронизация с *.txt EN130 Microsoft Windows 2000/XP 4 25-07-2012 15:56
[решено] Поиск числа в .txt Не флужу AutoIt 9 23-07-2010 17:16
[решено] Буфер обмена + txt zbruy AutoIt 2 28-11-2009 00:45
CMD/BAT - [решено] Как прочесть из файла .txt только первую строчку текста. Sdib121 Скриптовые языки администрирования Windows 6 15-08-2009 14:26
CMD/BAT - [решено] печать txt файла Loki3D Скриптовые языки администрирования Windows 15 12-05-2009 16:35




 
Переход