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 

Копирование с переименовыванием по счетчику
Goto page Previous  1, 2, 3 ... 11, 12, 13
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Singlelol



Joined: 05 Jun 2020
Posts: 8

Post (Separately) Posted: Sat Jun 06, 2020 00:58    Post subject: Reply with quote

Нет. Так же по каталогам, только с другим именем строго латинский и цифры.

Да черта задана специальная. Картинки будут залиты на FTP, а ссылки добавлены в карточки товаров.
Не помню в правилах FTP о том, должно ли быть наименование файлов целиковым или пробелы допускаются.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jun 06, 2020 01:31    Post subject: Reply with quote

Singlelol wrote:
только с другим именем строго латинский и цифры.
a-z№№ вместо выбранных папок. Так? Какой лимит у нумерации? 99? Если папок станет больше лимита z<max>, куда дальше двигаться?

В общем, ждите модерации, после продолжим.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Sat Jun 06, 2020 07:51; edited 2 times in total
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sat Jun 06, 2020 05:58    Post subject: Reply with quote

Продолжайте. Отделено из "Групового переименования" в более подходящую тему.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Singlelol



Joined: 05 Jun 2020
Posts: 8

Post (Separately) Posted: Sat Jun 06, 2020 11:03    Post subject: Reply with quote

Flasher wrote:
Какой лимит у нумерации? 99?

Да.
Flasher wrote:
Если папок станет больше лимита z<max>, куда дальше двигаться?

aa01
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Jun 06, 2020 11:48    Post subject: Reply with quote

Code:
'================================ VBS ================================
' Копировать выбранные папки с переименованием по шаблону [a-z][01-99]
' + Отчёт по шаблону: <исходный относительный путь к файлу> </новый>

' Условие:   пустое поле «Путь запуска:»

' Параметры: %WF "<относительный путь назначения>" "имя лога"
' Пример:    %WF iblock Log.txt
'=====================================================================
Option Explicit
Dim A, T, Sym, REx, TF, LF, Items, Nm, Fd, n, c, x, F, NP
Set A = WSH.Arguments: If A.Count Then T = A(1) Else WSH.Quit
Sym = Split("a b c d e f g h i j k l m n o p q r s t u v w x y z")
Set REx = New RegExp : REx.Pattern = "([a-z]+)(\d+)"

With CreateObject("Scripting.FileSystemObject")
  Set TF = .OpenTextFile(A(0),,,-1)
  Set LF = .OpenTextFile(A(2),8,1,-1)
  With CreateObject("Shell.Application").NameSpace(.GetAbsolutePathName(""))
    .NewFolder T : Set Items = .ParseName(T).GetFolder.Items
  End With
  Items.Filter 8224, "*"
  If Items.Count Then
    Set Nm = REx.Execute(Items.Item(Items.Count - 1))(0)
    c = Nm.SubMatches(0) : x = Len(c) : c = Asc(c) - 97
    n = CInt(Nm.SubMatches(1))
    If c = 26 And n = 99 Then x = x + 1
    If n < 99 Then n = n + 1 Else n = 1 : c = c + 1
  Else c = 0 : n = 1 : x = 1 End If
  Set REx = Nothing : Set Items = Nothing
  Do: Fd = TF.ReadLine
    If Right(Fd, 1) <> "\" Then Exit Do
    NP = .BuildPath(T, String(x, Sym(c)) & Right("0" & n, 2))
    .GetFolder(Fd).Copy NP : If c = 26 And n = 99 Then x = x + 1
    If n < 99 Then n = n + 1 Else n = 1 : c = c + 1
    For Each F In .GetFolder(Fd).Files
      LF.WriteLine Fd & F.Name & " /" & Replace(NP, "\", "/") & "/" & F.Name
    Next
  Loop Until TF.AtEndOfStream : TF.Close : LF.Close
End With
CreateObject("WScript.Shell").Popup "  Выполнено!", 2, " Копирование каталогов     ", 4160

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


Last edited by Flasher on Wed Jun 24, 2020 19:23; edited 6 times in total
Back to top
View user's profile Send private message
Singlelol



Joined: 05 Jun 2020
Posts: 8

Post (Separately) Posted: Tue Jun 09, 2020 12:43    Post subject: Reply with quote

Flasher wrote:


Огонь! Работает.

Не будет сильной наглостью, если попрошу добавить возможность указания начальной точки?

Т.е. если в первый запуск скрипт остановился на папке a51, то задав в параметрах a52 он начнет нумерацию с этого значения.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jun 09, 2020 18:50    Post subject: Reply with quote

Singlelol wrote:
возможность указания начальной точки?
Это не наш метод. Наш метод — автоматика. Wink Обновил код.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Singlelol



Joined: 05 Jun 2020
Posts: 8

Post (Separately) Posted: Tue Jun 09, 2020 23:56    Post subject: Reply with quote

Flasher wrote:
Это не наш метод. Наш метод — автоматика. Wink Обновил код.

Топ! Embarassed не разобрался как делать путь длиннее по типу upload/iblock, но в остальном высший пилотаж. Вы очень помогли!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 10, 2020 01:40    Post subject: Reply with quote

Singlelol wrote:
upload/iblock
Тут как раз с бэкслешем '\', как полагается. Wink
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Singlelol



Joined: 05 Jun 2020
Posts: 8

Post (Separately) Posted: Wed Jun 10, 2020 10:06    Post subject: Reply with quote

Flasher wrote:
Тут как раз с бэкслешем '\', как полагается. Wink

Сработало. Странно, а вроде ошибку выдавал. Может я что-то напутал.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 11, 12, 13
Page 13 of 13

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group