Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Переименование файлов и папок по списку из буфера обмена 
Author Message
Flasher



PostPosted: Wed Apr 25, 2018 02:31    Post subject: Reply with quote

Избыточное описание.
Напрашиваются 2 проблемы:
1. Выделенных файлов 50, а в буфере список из 20. Или наоборот. Что тогда?
2. Имена из буфера полностью или частично уже есть в получателе (в т.ч. среди выделенных). И?

Сделал пока так:
1. Обработка меньшего из чисел в буфере/получателе.
2. Пропускать переименование файла, попавшего под совпадение.

Code:
'=================================== VBS ===================================
' Переименовать выбранные в активной панели файлы по списку из буфера обмена
' Условие:  путь запуска — пустой
' Параметр: %WF
'===========================================================================
Option Explicit : Dim REx, Clip, Max, i, List, N, nN

If WSH.Arguments.Count = 0 Then WSH.Quit
Set REx = New RegExp : REx.Global = True
REx.Pattern = "^[\r\n]+|[\r\n]+(?=\r?\n)|[\r\n]+$"
With GetObject("New:1C3B4210-F441-11CE-B9EA-00AA006B1A69)")
  .GetFromClipboard : Clip = Split(REx.Replace(.GetText,""),vbLf)
End With : Max = UBound(Clip) : i = 0 : If Max = -1 Then WSH.Quit
With CreateObject("Scripting.FileSystemObject")
  Set List = .OpenTextFile(WSH.Arguments(0),,,-1)
  Do : N = List.ReadLine : nN = Clip(i)
    If .FileExists(N) And Not .FileExists(nN) Then .GetFile(N).Name = nN
    If Max <> i Then i = i + 1 Else Exit Do
  Loop Until List.AtEndOfStream
  List.Close : Set List = Nothing
End With

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group