Страница 42 из 42

Добавлено: Ср май 25, 2022 09:45
Monarch-LFV
ZZZAlexZZZ
"Свои хотелки" имеется ввиду в блоке "ПРАВИЛА ПЕРЕИМЕНОВАНИЯ" (специально выделил строками "==========").
Можно и регулярку менять, и дописывать свои правила (второе, третье, и т.д.) в зависимости от поставленной задачи. Если вы не заметили, там кроме регулярки еще меняются знаки подчеркивания на пробелы командой replace и задвоенные пробелы (в цикле).

Добавлено: Ср май 25, 2022 12:37
ZZZAlexZZZ
Monarch-LFV
Можно пару примеров?
Например, второе - заменить 123 на 321, третье - заменить мама рама на Мама Рама.

Добавлено: Ср май 25, 2022 13:08
Monarch-LFV
ZZZAlexZZZ
Если конкрено так, то так:

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

fn=replace(fn, "123", "321")
fn=replace(fn, "мама рама", "Мама Рама")

Добавлено: Ср май 25, 2022 14:42
ZZZAlexZZZ
Monarch-LFV
Понял, спасибо. Почудилось что есть способ с регулярками без replace и дублирования

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

objRegEx.Pattern = "[^\wА-Яа-яёЁ ]"
    objRegEx.Global = True

Добавлено: Ср мар 29, 2023 20:45
WindR
Flasher писал(а):По запросу:

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

'============================= VBS =============================
' Выделение всех объектов между двумя выделенными (включительно)
' Условие: необходим компонент TCScript.dll 1.0.0.14+
' Параметры: %S [/p:<ms>]
' Ключ /p:<ms> задаёт задержку в миллисекундах (40 по умолчанию)
'========================================== Автор: Flasher © ===
Option Explicit : Dim A, TCH, M, Check : Set A = WSH.Arguments
Set TCH = CreateObject("TCScript.Helper")
If A.UnNamed.Count <> 2 Then Quit "Выберите 2 объекта!"
M = A.Named("p") : If IsEmpty(M) Then M = 40
With TCH
  .Pause = 0 : .LockTC True : Cm(2049)(2056)
  Check = StrComp(A(0), .GetInfo("SN"), 1) <> 0
  If Check Then Cm(2053) End If : Cm(544)
  If Check Then Cm(2056) : .SendKeyStroke "+^{HOME}" : .Sleep M
  Cm(2057) : Check = StrComp(A(1), .GetInfo("SN"), 1)
  If Check = 0 Then Cm(544) Else Cm(2054)(2937) : .SendKeyStroke "+{End}" : .Sleep M
  Cm(525) : If Check <> 0 Then Cm(2054) End If  : .LockTC False
End With: Set TCH = Nothing
Function Cm(n) TCH.SendCommand n, 1 : Set Cm = GetRef("Cm") End Function

Sub Quit(Msg)
  With TCH
    Dim Color : .LockTC False
    Color = .INIRead(.MainINI, "Colors", "BackColor", "16777215")
    If Color = "-1" Then Color = 16777215
    CreateObject("Internet.HHCtrl").TextPopup Msg,_
    .INIRead(.MainINI, "AllResolutions", "FontNameTip", "Verdana") &","&_
    .INIRead(.MainINI, "AllResolutions", "FontSizeTip", "10"), 20, 10,_
    Abs(.INIRead(.MainINI,"Colors","ForeColor","-1")), Color
    WSH.Sleep 2000 : Set TCH = Nothing : WSH.Quit
  End With
End Sub
На Windows 11 22H2 строка

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

If A.Named.Exists("a") - ((Split(Split(FSO.OpenTextFile(WSS.Environment("Process")("COMMANDER_INI"))._
ReadAll, "LastSearchOptions=")(1), vbCr)(0) And 1024) = 0) = 0 Then Keys = "{TAB 6} "
выдаёт ошибку

Script: C:\TCPU\Scripts\search.vbs
Line: 11
Char: 1
Error: Subscript out of range: '[number: 1]'
Code: 800A0009
Source: Microsoft VBScript runtime error

Добавлено: Чт мар 30, 2023 06:10
Avada
WindR
Автор интересующего скрипта на этом форуме, к сожалению, ответить вам не сможет. Возможно. захочет разбираться на Windows 11 кто-то ещё, ждите. А на скрипт, приведённый в текущей теме, достаточно было дать ссылку, а не цитировать его весь (см, прикреплённую памятку).

Добавлено: Чт мар 30, 2023 09:13
sa
WindR
Начиная c этого сообщения, выложено с десяток кнопок (с использованием утилиты TCFS2) для решения той же задачи, что указана в шапке скрипта. Выбирайте!

Добавлено: Ср апр 05, 2023 11:39
Batya
WindR
Что-то меня с возрастом стало подводить зрение... В приведённом скрипте не вижу процитированную ниже строку.

Добавлено: Ср апр 05, 2023 13:15
sa
Batya
Наверное, эта строка ошибочно взята из другого скрипта на 40-ой странице.