Задачка для знатоков ZfD

Обсуждение технических вопросов по продуктам Novell

Задачка для знатоков ZfD

Сообщение skoltogyan » 08 фев 2005, 16:31

Есть ТЕКСТОВЫЙ файл.
c:\gdetotem\file.test

Надо:
1. Найти в этом файле СТРОКУ, содержащую подстроку:
"test substr"
2. И заменить в этом файле найденную строку на строку:
"absolutno novaya stroka vzamen najdennoj"

как такое сделать можно при помощи ZEN for Desktop ?
skoltogyan
 
Сообщения: 1941
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Багинский Константин » 08 фев 2005, 20:34

Написанием скрипта, например на vbs и запуском его через zen. Сам zen своими внутренними средствами такого не позволит сделать. Не его задача.
Багинский Константин
 
Сообщения: 103
Зарегистрирован: 17 июн 2002, 15:15

Сообщение Константин Ошмян » 08 фев 2005, 20:35

В общем случае штатными средствами не решается. Но можно поизвращаться либо через доп. утилиты, либо для каких-то конкретных частных случаев. Например, для INI-файла (где "test substr" находится справа от знака равенства, а слева - заранее известная константа) задача решается без проблем. Если файл является "почти" INI-файлом (т.е. содержит строки вида имя=значение, но без секций в квадратных скобках; и порядок строк не важен), то задача решается штатными средствами в несколько ходов (добавляем в начало файла имя секции - делаем изменения получившегося INI-файла - убираем заранее известную строку с именем секции).

Вариант же с доп. утилитой (ссылку на AutoIt я приводил) может быть, например, таким:
Код: Выделить всё
$SEARCHSTRING = "test substr"
$REPLACESTRING = "Another String"
$FILE = "c:\gde-to-tam\file.test"

Opt("WinTitleMatchMode", 1)
Run ("notepad " & $FILE)
WinWaitActive ("- Notepad")
While 1
  Send ("^f" & $SEARCHSTRING & "{Enter}")
  $res = WinWaitActive ("Notepad", "Cannot find", 1)
  if $res = 1 Then ExitLoop
  Send ("{ESCAPE}{HOME}+{END}" & $REPLACESTRING)
Wend
Send ("{Enter}{Escape}^s!{F4}")
WinWaitClose ("- Notepad")
Аватара пользователя
Константин Ошмян
 
Сообщения: 986
Зарегистрирован: 13 авг 2002, 21:36
Откуда: Рига


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3