Windows Script Host

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
LonerD
Сообщения: 1173
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Flasher
Спасибо.
iG0R
Сообщения: 6
Зарегистрирован: Вт мар 19, 2013 20:09

ReplaceInFiles.vbs

Сообщение iG0R »

Имеется следующий скрипт ReplaceInFiles.vbs со страницы №4 этого топика. http://forum.wincmd.ru/viewtopic.php?p=14843
Подскажите, как осуществить замену искомого текста другим текстом, частью которого является Escape последовательность.
Например, в файлах необходимо заменить "https" на "[InternetShortcut]\r\nURL=https", где \r\n - это esc-последовательность.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Последний раз редактировалось Batya Вт мар 26, 2013 20:14, всего редактировалось 1 раз.
Нет, я не сплю. Я просто медленно моргаю.
iG0R
Сообщения: 6
Зарегистрирован: Вт мар 19, 2013 20:09

Сообщение iG0R »

Batya
Спасибо за ответ, но этот скрипт
по сути ничем не отличается от ReplaceInFiles.vbs со страницы №4

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

'  File:         ReplaceInFiles.vbs
'  Description:  Search and replace of text
'                in selected files
'  Installation: Create a button on a TC bar
'                Command: "disk:\path\ReplaceInFiles.vbs"
'                Parameters: "%L" (exactly in "")
'  Copyright:    (c) 2006, Volniy (mod by Yuk)
 
Option Explicit
 
Dim FSO, Find_String, Replace_String, F, Buffer, ListFile, re
Const ForReading = 1, ForWriting = 2
 
Set FSO = CreateObject("Scripting.FileSystemObject")
Set re = New RegExp
 
Find_String = InputBox("Enter search string", "Search and Replace")
If Len(Find_String) = 0 Then
   MsgBox "Search string was not set!", vbExclamation, "Search and Replace"
   WScript.Quit()
End If
 
Replace_String = InputBox("Enter replace string", "Search and Replace")
 
Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not ListFile.AtEndOfStream
   Call DoItForThisFile(ListFile.ReadLine)
Loop
ListFile.Close
Set ListFile = Nothing
Set F = Nothing
Set FSO = Nothing
 
MsgBox "Replace done!", vbInformation, "Search and Replace"
WScript.Quit
 
Sub DoItForThisFile(FilePath)
   Set F = FSO.OpenTextFile(FilePath, ForReading)
   Buffer = F.ReadAll
   F.Close
 
 
    re.Pattern = Find_String
    re.Global = True
    re.IgnoreCase = True
    re.MultiLine = True  
 
   Buffer = re.Replace(CStr(Buffer), Replace_String)
   FSO.CopyFile FilePath, FilePath & ".bak"
 
   Set F = FSO.OpenTextFile(FilePath, ForWriting)
   F.Write Buffer
   F.Close
End Sub 
Который может искать по Esc-последовательности, но не может заменять. :(
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

iG0R
Хм... :(

Скрипт, использующий EmEditor, с той же страницы работает, как тебе надо.
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

iG0R
Зачем было полностью цитировать скрипт, на который выше уже давалась ссылка? Скрипта "ReplaceInFiles.vbs со страницы №4" в представленном виде на указанной странице нет — приведён модифицированный вариант, взятый из какого-то другого источника (и на него была бы уместна ссылка).
Приучаемся к порядку — и на форуме вообще, и конкретно в "Автоматизации". См. также здесь.
В предыдущие посты внесены некоторые изменения.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Krots
Сообщения: 2
Зарегистрирован: Вт фев 25, 2014 23:09

Windows Script Host

Сообщение Krots »

В Win7 32 не получается установить сей замечательный продукт TCWSHelp.exe. Выдает ошибку "Unexpected error; quitting". На ХР все нормально. Подскажите, плз, как решить проблему?
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Какая версия хелпера? Запуск от имени админа?
Krots
Сообщения: 2
Зарегистрирован: Вт фев 25, 2014 23:09

Windows Script Host

Сообщение Krots »

Да, запуск от имени админа помог, спасибо. В ХР как то попроще было, 10 лет на ней сидел, теперь такая ломка, ужс.
dydaevskiy
Сообщения: 4
Зарегистрирован: Вс мар 09, 2014 07:54

Поиск и замена текста без тотала

Сообщение dydaevskiy »

Возможно ли изменить скрипт что бы он делал свою работу без тотала? То есть я просто помещаю скрипт в папку, в скрипте пишу что найти и на что заменить. Скрипт после запуска будет искать и заменять во всех .txt и .m3u файлах нужные строки, в независимости от того в какой папке или подпапки данные файлы находятся.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

dydaevskiy
Возможно, конечно, но тогда это уже будет не Автоматизация Total Commander.
Да и скрипт в таком случае не особо нужен, программ-заменялок в сети - тьма.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
dydaevskiy
Сообщения: 4
Зарегистрирован: Вс мар 09, 2014 07:54

Сообщение dydaevskiy »

Да в том то и дело что в тотале не могу настроить полноценный планировщик. А так я б скрипт закинул стандартному планировщику windows и все было б отлично. Перерыл тьму программ заменялок, но планировщика в них нет. Прошу прощение что не совсем по теме, но уж очень сильно нуждаюсь в помощи.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

dydaevskiy
Это не меняет картины. Файлменеджер и планировщик уже по сути имеют разные цели. Тут же тема конкретно по синтаксису языков на основе WSH, применительно к ТС.
Что же касается планировщика, то есть смысл в отношении него задействовать консольные приложения (пример 1, пример 2, пример 3).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Создание текстового файла с содержимым буфера обмена

Как сделать, чтобы файл создавался в активной панели, а не в папке, где лежит данный скрипт. Может какие-то параметры прописать. И желательно, чтобы файл создавался сразу, без необходимости подтверждения

[mod="Avada"]Про правила оформления скриптов и ссылок на них говорилось многократно, в том числе в текущей теме на этой же странице. Приведено к нормальному состоянию.[/mod]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Dimsok
См. прилепленную тему подфорума. В скобках что написано? Угу...
Заодно см. этот вариант.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить