View previous topic :: View next topic |
Author |
Message |
InterSky
Joined: 06 Jun 2013 Posts: 4
|
(Separately) Posted: Thu Jun 06, 2013 20:55 Post subject: можно ли при копировании "дописывать" файлы типа .log |
|
|
У меня на одном диске лежат .log-файлы, а на отдельном диске хранятся их архивы.
Причём лог-файлы довольно объёмные (почти 2000 файлов объёмом более 1Тб)
Каждый день приходится их копировать...
Но особенность .log-файлов - то что информация в них всегда дописываются в конец.
Тоесть если сегодня у меня этот файл размером 300Мб, то завтра он будет 303Мб (и различаться будут только последние 3Мб).
Можно ли как-то указать Total Commander'у что ему не надо полностью копировать файлы, а только концовку (как если бы это было докачка оборвавшейся закачки по FTP)
В Total Commander'e нашёл только Перезаписать и Дописать (но этот "Дописать" на самом деле работает как "Склеить"). |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Thu Jun 06, 2013 21:18 Post subject: |
|
|
InterSky wrote: | Можно ли как-то указать Total Commander'у |
Нет. Инструментарий копирования TC для этой задачи абсолютно не годится. "Дописать" действительно означает добавление содержимого нового файла в хвост старого — и ничего более. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Thu Jun 06, 2013 21:50 Post subject: |
|
|
Писал себе утилитку для исправления битых файлов на флешке. Она сравнивает бинарно исходный файл и его копию в папке назначения и патчит только несовпадающие блоки. Перед этим она исправляет размер файла, поэтому как раз подойдёт в данном случае.
Code: | MIME-Version: 1.0
Content-Type: application/octet-stream; name="FixFile.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="FixFile.7z"
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
|
Батник переносит изменения в выделенных в активной панели файлах в такие же файлы в неактивной панели. При этом, если файла не существует, он не создается (это несложно добавить в батник). Кроме того, в батнике 7-8 строчки проверяют, что в неактивной панели диск с разрешенной буквой, эти строчки можно убрать. И вообще, если набор файлов и папка с файлами неизменны, можно написать батник, который будет патчить заданный набор файлов без захода в их папки.
(исправлена ошибка с вылетом с файлами <100 байт, увеличен размер буфера) _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Sat Jun 08, 2013 22:20; edited 1 time in total |
|
Back to top |
|
 |
InterSky
Joined: 06 Jun 2013 Posts: 4
|
(Separately) Posted: Fri Jun 07, 2013 00:47 Post subject: |
|
|
Обидно что это нельзя сделать штатным образом
Ведь в самом Total Commander'e реализована данная функция для докачки FTP. Могли бы эту функцию и для копирования файлов предоставить (пусть она даже находилась бы глубже, в кнопке "Дополнительно" которая появляется при копировании). |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Fri Jun 07, 2013 08:28 Post subject: |
|
|
InterSky
Никакой "данной функции" там в помине нет. Докачка частично скачанного файла и дописывание одного полного текстового файла недостающим куском из другого полного текстового файла по результатам сравнения этих файлов — принципиально разные вещи.
И потом, штатным образом реализуются более или менее востребованные функции, нужные если не каждому, то достаточно многим. Массовая дописка лог-файлов текстом из более полных их версий — явно не из этого ряда. Только сторонние средства типа предложенного выше. А для единичной пары файлов проблема элементарно решается стандартно (если уж копировать весь исходный файл не хочется) через инструмент сравнения. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
InterSky
Joined: 06 Jun 2013 Posts: 4
|
(Separately) Posted: Sat Jun 08, 2013 04:00 Post subject: |
|
|
Avada wrote: | Никакой "данной функции" там в помине нет. Докачка частично скачанного файла и дописывание одного полного текстового файла недостающим куском из другого полного текстового файла по результатам сравнения этих файлов — принципиально разные вещи. |
Не соглашусь.
Докачка частично скачанного файла и дописывание одного полного текстового файла недостающим куском из другого полного текстового файла - это одно и тоже. В обоих случаях программа видит что название файлов одинаковое, но при этом первый файл (источник) больше чем второй файл (получатель), и начинает дописывать разницу...
Однако вы упомянули очень важную фразу - "по результатам сравнения этих файлов".
И вот тут оказываетесь неправы дважды:
Во-первых: если сравнивать второй (недописанный) файл с начальной частью первого (более полного) файла, например побайтное сравнение - то теряется весь смысл, ведь время на чтение обоих файлов уйдёт примерно такое же как и при копировании.
Во-вторых: вы тут преподнесли докачку по FTP как простую "не интелектуальную" докачку, а между прочим при начале докачки по FTP в Total Commander'e происходит именно то о чём вы пишите - сравнение этих двух файлов! Total Commander проверяет несколько килобайт в начале обоих файлов и в конце обоих файлов (возможно ещё и в середине) с целью убедиться что он докачивает по FTP именно тот файл! Несколько раз у меня было что при скачивании фильма по FTP у меня зависал комп, я перегружал его, начинал докачивать фильм, но Total Commander заявлял мне что файлы не совпадают и не соглашался докачивать. Происходило это из-за того что в момент зависания комп не успевал сохранить последний блок, хотя место под него резервировал (тобишь увеличил длинну файла). В результате приходилось отрезать последних 10Кб от второго файла (делал это через "Разбить файл") и тогда докачка шла уже нормально.
Так что ещё раз повторюсь - весь необходимый для этого функционал в Total Commander'e уже существует!
Avada wrote: | И потом, штатным образом реализуются более или менее востребованные функции, нужные если не каждому, то достаточно многим. Массовая дописка лог-файлов текстом из более полных их версий — явно не из этого ряда. |
Это громкие слова! Тогда и "Append" (кнопка "Дописать" которая на самом деле работает как "Склеить") совершенно не из этого ряда. Используется точно так же редко, да ещё и дублирует функционал "Собрать файлы".
Avada wrote: | А для единичной пары файлов проблема элементарно решается стандартно (если уж копировать весь исходный файл не хочется) через инструмент сравнения. |
А вот тут не понял.
У меня два файла 303Мб и 300Мб - как дописать недостающие 3Мб ко второму файлу при помощи инструмента "Сравнение"? |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 08, 2013 07:38 Post subject: |
|
|
InterSky
Вести длительную полемику не имею возможности. Поэтому — коротко и по делу. (А всё остальное советую выносить на оффорум к Гислеру. Нас он тут читать не будет.)
1. По докачке. Гислер пояснял, что помимо оставшейся части файла, дописывается ещё примерно 100 уже скачанных килобайт, чтобы убедиться , что файл не изменился. Откуда именно они берутся, говоря честно, не проверял. Но то, что это не было мной упомянуто, не значит, что этого нет.
2. Кнопка "Дописать" (отрабатывающая простейший случай конкатенации) не дублирует функционал сборки файлов хотя бы потому, что функция сборки парная с функцией разрезания (определённые соглашения по именам и пр.) и что функция эта обычно предназначена для большего числа файлов, нежели два.
3. Файлы указанного размера — думаю, никак. Я подразумевал вменяемый размер (недоглядел, что речь идёт про сотни мегабайт).
Добавлено спустя 2 часа 49 минут:
MVV
А можно привести код для этой кнопки? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Sat Jun 08, 2013 11:43 Post subject: |
|
|
InterSky
Добавлю к ответу Avada, что для FTP данная функция является в некотором роде вынужденной: обрыв связи при загрузке файла — совсем не редкость, и очень важно иметь возможность продолжить закачку с того места, где остановились. С локальными файловыми системами такой проблемы нет: перед копированием Тотал выделяет место на диске сразу под весь файл, поэтому даже нехватка места к такой ситуации не приведёт. Даже если комп неожиданно вырубился, мы всё равно не сможем узнать, сколько именно байтов внутри выделенного блока него успело скопироваться, а сколько — нет. Ну а при всяческих ошибках файловой системы гораздо безопаснее будет просто заново скопировать файл, т. к. никто не гарантирует, что содержимое в середине тоже не попортилось.
То есть нужна эта функция будет только в специфической ситуации — такой как описана выше. Но это всё же редкость, и у большинства пользователей такой потребности не возникает. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 08, 2013 11:47 Post subject: |
|
|
MVV wrote: | А чем предложенный способ "выделить файл(ы) и нажать кнопку на панели инструментов" хуже штатного? Тем, что эту кнопку надо 1 раз сделать? | Конкретно в твоём случае - тем, что запускается консольное окно, где надо ещё жать 2 раза.
Avada wrote: | А можно привести код для этой кнопки? | Там же в батнике параметры указаны. Запусти и увидишь. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sat Jun 08, 2013 12:23; edited 1 time in total |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 08, 2013 12:11 Post subject: |
|
|
Flasher
Спасибо, давно уже запустил и увидел. Если по-прежнему интересуюсь кодом кнопки, то, следовательно, имею на то основания. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 08, 2013 12:19 Post subject: |
|
|
Avada
А в чём проблема? У меня всё работает.. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 08, 2013 12:34 Post subject: |
|
|
Flasher
Да у меня вообще-то тоже всё работает. Я лишь хотел, чтобы из темы было очевидно, что в поле "Команда" надо указывать путь не к экзешнику, а к батнику. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Sat Jun 08, 2013 22:22 Post subject: |
|
|
Flasher wrote: | Конкретно в твоём случае - тем, что запускается консольное окно, где надо ещё жать 2 раза. |
Что нужно ещё 2 раза жать? Параметр /q отключает все "жать". Параметр /s не показывает баннер с названием программы.
Avada,
Параметры батника такие же, что он просит сам.
Code: | Команда: FixFileList.bat
Параметры: %WF "%P" "%T" |
Файл FixFileList.bat, копирующий и новые файлы (и без проверок на буквы дисков):
Code: | MIME-Version: 1.0
Content-Type: application/octet-stream; name="FixFileList.bat"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="FixFileList.bat"
QGVjaG8gb2ZmDQp0aXRsZSBGaXhGaWxlTGlzdA0KaWYgLSUxPT0tZml4ZmlsZSBnb3RvIDpmaXhm
aWxlDQppZiAtJTM9PS0gZWNobyBQYXJhbWV0ZXJzIGFyZSAlJVdGICIlJVAiICIlJVQiLiZwYXVz
ZSZnb3RvIDpFT0YNCnRpdGxlIEZpeEZpbGVMaXN0IC0gJX4zDQoNCmVjaG8ggq2orKCtqKUhIJSg
qavrIKIg4aulpOPu6aWpIK+gr6qlIKHjpOPiIKinrKWtpa3rIKGlpyCkrq+uq62o4qWr7K3r5SCi
rq/gruGuoiEhIQ0KZWNoby4NCmVjaG8gJX4zDQplY2hvLg0KcGF1c2UNCmVjaG8uDQplY2hvIMTE
xMTExMTExMTExMTExMTExMTEDQpmb3IgL2YgInVzZWJhY2txIGRlbGltcz0iICUlZiBpbiAoYHR5
cGUgJTFgKSBkbyBjYWxsICUwIGZpeGZpbGUgIiV+MiUlZiIgIiV+MyUlZiINCmVjaG8uDQplY2hv
IIOu4q6iriENCnBhdXNlDQpnb3RvIDpFT0YNCg0KOmZpeGZpbGUNCmlmIG5vdCBleGlzdCAlMiBn
b3RvIDpFT0YNCmlmIG5vdCBleGlzdCAlMyBzZXQgb2s9b2s+JTMNCmlmIG5vdCBleGlzdCAlMyBn
b3RvIDpFT0YNCiUwXC4uXEZpeEZpbGUuZXhlIC9xIC9zICUyICUzDQplY2hvIMTExMTExMTExMTE
xMTExMTExMTEDQo=
|
_________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Sat Jun 08, 2013 22:37; edited 2 times in total |
|
Back to top |
|
 |
InterSky
Joined: 06 Jun 2013 Posts: 4
|
(Separately) Posted: Sat Jun 08, 2013 22:26 Post subject: |
|
|
Я ни с кем не спорю что функция специфичная.
Причём не менее спецефичная чем Append (которую админ назвал конкатенацией).
Я, можно сказать, возмущаюсь о том что функционал "Дописывания разницы файла" реализован в Тотале (при работе с FTP) но недоступен для файловой системы (чувствую придётся ставить на компьютер FTP-сервер и дописывать файлы через FTP с этого же компа).
Ведь можно было в какую-то глубокую менюшку вставить эту функцию раз она уже сделана.
Append используется не намного чаще. И если бы его небыло, можно было бы склеить файлы через "Собрать файлы". А вот "Дописывания разницы файла" в тотале ни чем не заменить, хотя функционал реализован (и даже с небольшой проверкой, которая заметит если ты по ошибке решил дописать разные файлы) |
|
Back to top |
|
 |
|
|
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
|