Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2017, 12:26
Интересующийся
Отправить личное сообщение для rsaburov Посмотреть профиль Найти все сообщения от rsaburov
 
Регистрация: 06.01.2014
Сообщений: 24

multiple replace - как сделать
Имеется скрипт замеяющий в файлах, указанных в списке D:\list.txt, 12 на 34 (переменная rest)
Код:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var list = fso.OpenTextFile("D:\\list.txt", 1, true);    
var listout = fso.OpenTextFile("D:\\list.txt", 1, true);            
var rest = /12/g;
var rezt = /ab/g;
while (!list.AtEndOfStream) { 
var myInputTextStream = fso.OpenTextFile(list.ReadLine(), 1, true); 
var myOutputTextStream = fso.OpenTextFile(listout.ReadLine().slice(0,-4)+".wow", 2, true); 
while(!myInputTextStream.AtEndOfStream) {
myOutputTextStream.WriteLine(myInputTextStream.ReadAll().replace(rest,"34")); 
}
}
myInputTextStream.Close(); 
myOutputTextStream.Close();
list.Close();
listout.Close();
В дополнение к этой замене необходима замена ab на xy (переменная rezt)
Как дополнить приведенный скрипт?
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2017, 15:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rsaburov
var list = fso.OpenTextFile("D:\\list.txt", 1, true);
var listout = fso.OpenTextFile("D:\\list.txt", 1, true);
Зачем дважды?
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2017, 19:19
Интересующийся
Отправить личное сообщение для rsaburov Посмотреть профиль Найти все сообщения от rsaburov
 
Регистрация: 06.01.2014
Сообщений: 24

без этого не шло ...
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2017, 19:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

list.txt содержит список файлов, в именах которых нужно произвести замену, после чего читаем эти файлы?
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2017, 21:27
Интересующийся
Отправить личное сообщение для rsaburov Посмотреть профиль Найти все сообщения от rsaburov
 
Регистрация: 06.01.2014
Сообщений: 24

полные пути и имена
типа E:\Documents\Desktop\tst\FileTree.txt
Ответить с цитированием
  #6 (permalink)  
Старый 02.12.2017, 21:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну и зачем иметь две копии списка, из которого выбираются строки?

.replace(rest,"34") заменили 12 на 34, в чем проблема где-то заменить таким же образом ab на xy?
Ответить с цитированием
  #7 (permalink)  
Старый 02.12.2017, 22:06
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

var fso = new ActiveXObject("Scripting.FileSystemObject");
var list = fso.OpenTextFile("D:\\list.txt", 1, true);            
var rest = /12/g;
var rezt = /ab/g;
while (!list.AtEndOfStream) { 
  var file = list.ReadLine();
  var myInputTextStream = fso.OpenTextFile(file, 1, true); 
  var myOutputTextStream = fso.OpenTextFile(
    file.slice(0,-4) + ".wow"
  , 2, true); 
  myOutputTextStream.Write(
    myInputTextStream
      .ReadAll()
      .replace(rest, "34")
      .replace(rezt, "34")
  )
  myInputTextStream.Close(); 
  myOutputTextStream.Close();
}
list.Close();
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 03.12.2017, 11:51
Интересующийся
Отправить личное сообщение для rsaburov Посмотреть профиль Найти все сообщения от rsaburov
 
Регистрация: 06.01.2014
Сообщений: 24

Aetae, большое Вам спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать калькулятор и с чего начать? A.P. Yellowman Общие вопросы Javascript 3 15.11.2013 21:32
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Вопрос как сделать эту панельку Определённых размеров и свойств. jei jQuery 3 09.06.2009 19:14