Как определить "Размер файла на диске", а не просто "Размер файла"? #778772


#0 by СЕсин
Всем привет! Если зайти в свойства файла, там есть поле "Размер", а есть "Размер на диске". Стандартная функция 1С "Файл.Размер" возвращает как раз первое свойство. А мне очень нужно определить именно "Размер на диске". Пробовал через эту штуку с тем же результатом: Подскажите пожалуйста, возможно ли решить данную задачу? И если возможно, то как? На законный вопрос "а нафига?", поясню: Мне нужно определить, докачался ли файл? Файл качает сторонняя программа GetMedia. Я периодически хочу проверять размер файла, чтобы понять, докачался или нет. Но стандартной функцией он возвращает именно "Размер", а не "Размер на диске". И все время пока идет закачка, "Размер" равен, то 0, то какому-то произвольному значению. И это значение может по 5 минут висеть одно и то же, если файл большой. А вот если отслеживать "Размер на диске", то это значение плавно растет. Подойдет также какой-нибудь альтернативный способ определения, скачался файл или нет. Более красивых вариантов, к сожалению, я не придумал.
#1 by СЕсин
Да, также я пробовал отслеживать таким образом: Но эта дата тоже нестабильно работает. То постоянно меняется, то висит на одном значении до окончания загрузки. И как бы определить, последний раз она поменялась или нет, х.з. как.
#2 by hitodom
качать качалкой, что отдает процент скачивания
#3 by СЕсин
например какой? Ну и тут ещё какая фигня. Как можно догадаться, я пытаюсь автоматизировать скачивание торрентов. GetMedia я выбрал, т.к. там есть нормальный встроенный поиск. И у меня в принципе все получилось, скачивает то что нужно, но понять, докачался файл или нет, я не могу.
#4 by Fragster
wget или curl
#5 by Aleksey
Не всегда плавно растет. Качалка вполне может и сразу разметит место на диске под файл
#6 by Jump
Размер файла - сколько байт содержит файл. Размер на диске - сколько места на диске занимает файл. Эти размеры никак не связаны. >>Я периодически хочу проверять размер файла, чтобы понять, докачался или нет Для этих целей вам нужен размер файла. А не размер файла на диске. Допустим один и тот же видеофильм  может занимать на диске 20гб, или 0мб. Или текстовый документ размером 20байт может занимать на диске 8мб.
#7 by Jump
Т.е вам нужен именно размер файла для этих целей, а размер занимаемый файлом на диске для этих целей бесполезен абсолютно.
#8 by Кирпич
А если попробовать переместить файл? Может, если качается, не даст переместить, а если скачался, то даст?
#9 by Jump
wget, aria2
#10 by Jump
Если вам нужно проверить что файл докачался - лучше всего сравнить хэш. Это надежно и гарантированно. В крайнем случае можно проверить размер, это менее надежно. Разумеется перед тем как проверять размер нужно остановить работу с файлом. Пока он открыт на запись трудно получить его реальный размер. Я бы постоветовал вам пользоваться готовыми утилитами для скачивания, которые сами все делают - например сказали скачать, после скачивания переместить, или выполнить команду. И все.
#11 by СЕсин
я действовал эмпирическим путем - во время закачки заходил в свойства и смотрел, какая цифра меняется, а какая стоит на месте. Поэтому и привязался к этому "размеру на диске". Вы пишите "Для этих целей вам нужен размер файла." - так он один и тот же всю дорогу. Возможно, я не совсем уловил мысль. wget, aria2 - они могут качать торрент. А найти торрент по заданным параметрам и имени могут? Я понял, что не могут. Поправьте меня пожалуйста, если я ошибаюсь. Если с помощью wget, aria2 можно именно найти, что требуется, конечно, буду копать в этом направлении. Переместить не дает, программа его держит, пока он в списке загрузки находится. Короче, я бы и раз воспользоваться чем-то более элегантным, но как там дела обстоят с поиском торрентов?
#12 by СЕсин
*рад воспользоваться )
#13 by hitodom
ищи одной софтиной, качай другими
#14 by Dragner
Это теория про Размер и Размер На Диске, но там есть упоминание про Get­Compressed­File­Size может наведёт на мысль.
#15 by Jump
wget - только фтп и хттп. aria2 в основном торренты, но может также и фтп и хттп, причем одновременно с торрентом. >>А найти торрент по заданным параметрам и имени могут? Это как? Не слышал о таком. Торренты ищутся не по заданым параметрам, а по торрентфайлу, или металинку. А размер на диске ничего общего с реальным размером файла не имеет.
#16 by СЕсин
"А найти торрент по заданным параметрам" - я сделал небольшой макрос, который вбивает в GetMedia название фильма и ставит его на скачивание. Таким образом можно программно скачать какой-то фильм, Торрентфайла которого у нас пока нет. Просто по названию. Способ, конечно, корявый, но он работает. Для полного счастья мне нужно отследить завершение скачивания )
#17 by Jump
Ну а как вы можете отследить окончания скачивания если не знаете что качаете?
#18 by СЕсин
Я знаю куда качаю. Выполняю макрос, указав название фильма. Когда вижу что в папке, куда идет закачка, появляется файл, пытаюсь отследить когда его размер перестанет расти. После окончания собираюсь перемещать фильм в другую папку, чтобы очистить место для новой закачки. Да тут, нет никакой защиты. Одновременно качается только один файл. Меня это устраивает.
#19 by Jump
Ну вы не знаете размер файла. Как вы можете отследить что он скачался? А то что перестал расти - интернет пропал, или пиры отвалились.
#20 by Fragster
если качаются торренты - используйте transmission, который сделает всё сам, причем из консоли
#21 by Jump
Поиск фильмов по названию?
#22 by DES
dir file.ext > f.txt Затем парсинг файла f.txt
#23 by trdm
Попробовать переименовать файл. Если файл переименовывается, значит докачан и "отпущен".
#24 by Serginio1
Используй асинхронные методы. А вот откуда сам решай.
#25 by Fragster
поиск фильмов по названию можно другими методами сделать, вплоть до 1сных httpзапросов к трекерам (ну, или тем же wgetом)
#26 by Jump
Я в курсе. Автор хочет чтобы качалка проверяла. А вообще я для торрентов трансмишн не использую. Если с ГУИ - то юторрент. Если консольный - aria2
#27 by Fragster
у меня оно вообще на роутере... кидаю файл в шару, он пропадает, через некоторое время в шаре появляется результат (уже полностью скачанный)
#28 by Fragster
занимается этим трансмишн как раз. по такой схеме автору остается только чем-то положить файл в папку и мониторить эту папку на появление результата
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С