Как скопировать несколько файлов в один?

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
ПОпробуй в 73 строке 1 поменять на 2. Если не поможет, то увы и ах.
Также обрати внимание на права записи. На других дисках поведение аналогичное?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

Flasher
ПОпробуй в 73 строке 1 поменять на 2
Не помогло.
обрати внимание на права записи
Проверил на разных дисках, как на несъёмных и USB дисках и проблема проявляется везде. Другие твои скрипты, отрабатывают без проблем в тех же местах диска и запись файлов происходит. Попробовал команду copy на тех же дисках и местах и команда отработала без проблем, запись файла произошла. Бред, короче.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
А так происходит вообще на любой глубине с любыми файлами? Или есть варианты?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

Flasher
так происходит вообще на любой глубине с любыми файлами
Пробовал на такую глубину запускать:

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

D:\Install\Other\Don't_Delete\TestScript
H:\FTK_8\Windows\TestScript
G:\LOCALE\TestScript
Объединять пробовал txt, bat, vbs, bar, jpg, amr, mkv

Так же пробовал на разных файловых системах: FAT, FAT32 и NTFS.
есть варианты?
Без вариантов. Появляется ошибка.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
Так. А файл-то со счётчиком пустой создаётся?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

Flasher писал(а):файл-то со счётчиком пустой создаётся?
Да, файл создаётся пустым.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
А с другими вариантами параметров как?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

Flasher
Пробовал разные параметры:

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

%WL   |   %WL /del   |   %WL "%T" 2   |   %WL "%P" 0 %N
ошибка присутствует.
Что ещё... Файл список файлов в %TEMP% создается, при нажатии на кнопку.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
Странно то, что на точно такой же метод используется ранее дважды, ругани нет. Попробуй в этой строке FP заключить в CStr(FP).
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

Flasher
в этой строке FP заключить в CStr(FP)
Не помогает.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Lisabon
Было бы интересно ознакомиться с тестами на 8-ке. Может, кто-то ещё посмотрит. В данном случае без такой системы доп. мыслей пока нет. Я могу взять ADO (нет на WinPE, не такой шустрый) либо copy /b (как тут), если очень надо.
Могу через удалёнку взглянуть, если хочешь.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

либо copy /b (как тут), если очень надо
Если не затруднит, то сделай.
Nick
Сообщения: 107
Зарегистрирован: Пт дек 26, 2014 17:11

Сообщение Nick »

Flasher
Этот скрипт при склеивании файлов при параметрах: <%WL "%P" 2 %N> выдает следующую ошибку:

Строка: 74
Символ: 5
Ошибка: Недопустимый вызов или аргумент процедуры
Код: 800A0005
Источник: Ошибка выполнения Microsoft VBScript

Где может быть ошибка?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Nick
Написано "Строка: 74." Вот там и ошибка. :) Только на 7-ке этого нет, что выше и обсуждалось.
Интересно, что если над ней и под ней добавить по строке?:

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

  With CreateObject("SAPI.SpFileStream")
  <74 строка>
  End With
Lisabon, тоже советую проверить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Lisabon
Сообщения: 147
Зарегистрирован: Чт фев 17, 2011 23:11

Сообщение Lisabon »

что если над ней и под ней добавить по строке
Тобишь должно получится так? :

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

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) : If FP = Fi Then Buff = FMem : FMem = "" Else _
    .Open Fi, 2 : .Read Buff, Dic.Item(Fi) : .Close
    .Open FP, 1 : .Seek Fl.Size : .Write Buff : Buff = "" : .Close
    With CreateObject("SAPI.SpFileStream")
  Next
  End With
End With
Если да, то ошибка:

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

Сценарий:	D:\Program\Total_Commander\Scripts\JoinBinFiles.vbs
Строка:	75
Символ:	3
Ошибка:	Неуместное 'Next'
Код:	800A041F
Источник: 	Ошибка компиляции Microsoft VBScript
Ответить