View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 15, 2017 19:35 Post subject: |
|
|
Lisabon
Логика вставки верная. Но скрипт на строку увеличивался. Надо обновиться и переделать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Wed Nov 15, 2017 19:51 Post subject: |
|
|
Обновил скрипт и подправил, получил вот такое:
Code: | With CreateObject("SAPI.SpFileStream")
If Dic.Exists(FP) And FP <> List(0) Then _
.Open FP, 2 : .Read FMem, Fl.Size :_
.Close : Fl.OpenAsTextStream(2).Close
For i = N To Num - 1
Fi = List(i) : C = 0 : If Left(Fi, 1) = "\" Then C = 2
If FP = Fi Then Buff = FMem : FMem = "" Else _
.Open Fi, C : .Read Buff, Dic.Item(Fi) : .Close
With CreateObject("SAPI.SpFileStream")
.Open FP, 1 : .Seek Fl.Size : .Write Buff : Buff = "" : .Close
End With
Next
End With |
Теперь ошибка вот такая:
Code: | Сценарий: D:\Program\Total_Commander\Scripts\JoinBinFiles.vbs
Строка: 73
Символ: 5
Ошибка: 0x80045025
Код: 80045025
Источник: (null) |
Но теперь есть прогресс в лучшую сторону. Создаваемый (объединённый) файл теперь не пустой, а теперь в него копируется содержимое, только одного файла (первого) из трёх.
Кнопка у меня вот такая:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\JoinBinFiles.vbs
%WL "%P" 2 %N
C:\Windows\System32\WScript.exe,2
JoinBinFiles
-1
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 15, 2017 20:05 Post subject: |
|
|
Хм. А если так?:
Code: | With CreateObject("SAPI.SpFileStream")
If Dic.Exists(FP) And FP <> List(0) Then _
.Open FP, 2 : .Read FMem, Fl.Size :_
.Close : Fl.OpenAsTextStream(2).Close
End With
For i = N To Num - 1
Fi = List(i) : C = 0 : If Left(Fi, 1) = "\" Then C = 2
With CreateObject("SAPI.SpFileStream")
If FP = Fi Then Buff = FMem : FMem = "" Else _
.Open Fi, C : .Read Buff, Dic.Item(Fi) : .Close
End With
With CreateObject("SAPI.SpFileStream")
.Open FP, 1 : .Seek Fl.Size : .Write Buff : Buff = "" : .Close
End With
Next |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Wed Nov 15, 2017 20:50 Post subject: |
|
|
Flasher
Скрипт работает. Ошибок и проблем пока не наблюдаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 15, 2017 21:01 Post subject: |
|
|
Lisabon
Эврика. А с длинными путями как? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Wed Nov 15, 2017 21:21 Post subject: |
|
|
Flasher
Code: | А с длинными путями как? |
Нормально. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Nov 15, 2017 21:22 Post subject: |
|
|
Lisabon
Хорошо. Поздравляю. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|