View previous topic :: View next topic |
Author |
Message |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 15, 2013 22:19 Post subject: |
|
|
alex-navigator
Так это почти то, что я привёл выше, только второй разделитель точка.
Теперь надо указать список вероятных разделителей - первых и вторых, соответственно. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
alex-navigator
Joined: 14 Dec 2013 Posts: 8
|
(Separately) Posted: Sun Dec 15, 2013 22:23 Post subject: |
|
|
Flasher
Да, Вы правы. Сперва я Вас просто не понял. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 15, 2013 22:27 Post subject: |
|
|
alex-navigator
Так а разделители будут? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
alex-navigator
Joined: 14 Dec 2013 Posts: 8
|
(Separately) Posted: Sun Dec 15, 2013 22:31 Post subject: |
|
|
Flasher
Разделители будут такие: "_число_" и " _число." |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 16, 2013 00:02 Post subject: |
|
|
Освободился..
Code: | Filt1 = InStr(Name, "_")
If Filt1 Then
RName = Mid(Name, Filt1 + 1)
Filt2 = InStr(RName, "_") : Filt3 = InStr(RName, ".")
If Filt1 Or Filt2 And Abs(Filt2-Filt1) > 1 Then
If Filt2 And Filt3 And Filt2 < Filt3 Then Fold = Target & Left(RName, Filt2-1)
If Filt2 And Filt3 And Filt3 < Filt2 Then Fold = Target & Left(RName, Filt3-1)
If Filt2 And Not Filt3 Then Fold = Target & Left(RName, Filt2-1)
If Filt3 And Not Filt2 Then Fold = Target & Left(RName, Filt3-1)
If FSO.FolderExists(Fold) Then
If Left(File, 1) = Left(Target, 1) Then
FSO.MoveFile File, Fold & "\"
Else
FSO.CopyFile File, Fold & "\", True
FSO.DeleteFile File
End If
End If
End If
End If | вместо Code: | For i = Len(Name) To 1 Step -1
Fold = Target & Left(Name, i)
If FSO.FolderExists(Fold) Then
FSO.CopyFile File, Fold & "\", True
FSO.DeleteFile File
Exit For
End If
Next |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Mon Dec 16, 2013 00:38; edited 1 time in total |
|
Back to top |
|
 |
alex-navigator
Joined: 14 Dec 2013 Posts: 8
|
(Separately) Posted: Mon Dec 16, 2013 00:17 Post subject: |
|
|
Flasher
Спасибо за труды! Вылезла ошибочка, что Переменная не определена: Filt1
Код 800A01F4. Если исправления займут много времени, то оно этого не стоит, Вы мне и так много уже помогли.
Flasher, можно ли сделать, чтобы файл не копировался, затем удалялся, а просто перемещался??? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 16, 2013 00:31 Post subject: |
|
|
alex-navigator wrote: | Вылезла ошибочка | 10 и 11 строки закомментировать. Они только для отладки.
alex-navigator wrote: | Flasher, можно ли сделать, чтобы файл не копировался, затем удалялся, а просто перемещался? | Это сделано для того, чтобы не было проблем с перемещением с других томов. Сделал два варианта. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
alex-navigator
Joined: 14 Dec 2013 Posts: 8
|
(Separately) Posted: Mon Dec 16, 2013 00:44 Post subject: |
|
|
Flasher
Спасибо Вам большое! |
|
Back to top |
|
 |
|