wadimus
- Стаж: 7 лет 5 месяцев
- Сообщений: 762
- Репутация:91[+] [-]
|
это просто песТня! друг, твикеры ты сделал с лаунчером (меню) - а это с чойсом .. почему? а внутре батников еще очередная песТня .. файл KVRT.exe, допустим, есть - это долой! и заново скачиваем. ну, а чё? более 200Мб коту под-хвост. тернет же у нас безразмерный и реактивный - скачаем! аналогично с cureit.exe - файл под 300Мб - удаляем, скачиваем. а если файлы не изменились? файл, находящийся у нас и файл в тернете размером одинаковы - да, нехай, заново скачаем! всегда примеряю такие качалки на юзерах с тернетом по свистку, где-нибудь в тайге, км под 600 от моего кырска. они будут в восторге от таких утилит. я пропагандон ЗОЖ .. к тернету обращаться умеренно! качаем что-то, если это поменялось (в тернете). изменений в файлах нет - пользуемся то, что есть. тем более, сам процесс качания чего-то с защитой от дурака отработан и обсосан мною лет 3-4-5 назад. - во первых, если файл есть - вычисляем его размер (первая переменная) - получаем размер файла, находящегося в тернете, не скачивая его (вторая переменная) - сравниваем эти две полученные переменные - они одинаковы - качать ничего не надо! файл в тернете аналогичен нашему, находящемся рядом - переменные разнятся - скачивать надо! - качаем файл во временный файл (я приписываю символ точка тильда .~ к исходному файлу: cureit.exe - cureit.exe.~) - скачали временный файл - проверили его размер. он должен быть таким же как во второй переменной - размеры совпали - удаляем исходный файл (cureit.exe), а временный (cureit.exe.~) переименовываем в исходный. и всё! пропал тернет, сами прекратили скачивание, выдернули тернет-кабель, зависла винда или батник - нам будет всё .. кхм .. у нас останется исходный файл (тот же cureit.exe) и недокачанный временный (cureit.exe.~) - и мы может выполнить свою задачу - запустить исходный файл. у тебя - удалили файл и качаем его. пропал тернет - и всё накрылось Добавлено через 15 минут 7 секунд: продолжу .. есть файлы в архивах. например AVZ4 и AVZ5 мы скачиваем эти архивы, потом разархивируем файлы в определенные папки, а сами архивы удаляем (зачем они нам нужны?) как я поступаю: - перед удалением отработанных архивов вычисляю их размер. размер пишу во временный файл (к примеру avz4.txt) - в этом файле в первой строке идет число (10112832) - это размер в байтах удаленного архива. сама скачка немного длиннее: - если есть временный файл-размера (avz4.txt) - читаю первую строку их него - эта наша первая переменная - если такого файла нет (допустим, получили первый раз пак и там ничего нет) - в первую переменную пишем 0 - далее идет сравнение, и скачивание файла по необходимости. - временный файл скачали, переименовали и разархивировали - вычислили размер этого файла и занесли число в файл-размера (avz4.txt) - и скачанный файл удалили! всё! у нас есть скачанные и разархивированные файлы AVZ - рабочие. есть временные файлы-размеры - они нам не мешаются, занимают мало места. код у меня кондовый, корявый .. я не одну собаку съел, правя его. зато он доступен для понимания любому, легко правится (даже если не трогал его год и забыл всё) конечно, можно сделать изящнее, исключить разные проверки, исключить записи промежуточных вариантов во временные файлы.
|