Копирование файлов
|
|
Sam726 | Дата: Среда, 21 Октября 2009, 12:56 | Сообщение # 1 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Можно ли сделать процентное соотношение при работе с файлами? Пример: Необходимо скопировать группу файлов. И необходимо что бы при копировании было видно сколько процентов уже скопировано.
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 14:14 | Сообщение # 2 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Я наверное скоро дам тебе бан. Ты задаешь очередной вопрос, на который есть ответ на сайте. Ты можешь поиском воспользоваться наконец? Зайди в раздел плагинов - есть специальный для отображения прогресса копирования.
Вечная память Андрею Сергееву!
|
|
| |
Sower | Дата: Среда, 21 Октября 2009, 15:39 | Сообщение # 3 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (Mad-Dog) Необходимо скопировать группу файлов Quote (YURIY) в раздел плагинов может он имел ввиду процент уже скопированных файлов из их общего числа? тогда это можно сделать и достаточно просто
|
|
| |
Sam726 | Дата: Среда, 21 Октября 2009, 16:02 | Сообщение # 4 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Grand, вот-вот. Это именно то что я имел в виду.
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 18:26 | Сообщение # 5 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Mad-Dog) Это именно то что я имел в виду. И? Я не вижу, чтобы ты пытался решить эту проблему. В следующий раз будь добр предоставить получившийся код при попытке решения задачи. Чтобы тебе ПОМОГАЛИ, а не ДЕЛАЛИ ЗА ТЕБЯ. общее_количество_файлов - 100% скопировано_файлов - x% x = (скопировано_файлов*100)/общее_количество_файлов = процент выполнения операции Элементарная пропорция.
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Среда, 21 Октября 2009, 19:06 | Сообщение # 6 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| YURIY, спс Добавлено (21 Октябрь 2009, 19:06) --------------------------------------------- "Предоставляй полученій код" Да смех и тупость в том коде что я знаю. Code SysCommand("CopyFile","file1.1,file2.1") LoadText("Text","10%") SysCommand("CopyFile","file1.2,file2.2") LoadText("Text","20%") SysComma nd("CopyFile","file1.3,file2.3") LoadText("Text","30%") и т.д.
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 19:33 | Сообщение # 7 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Ну и ничего. Зато я знаю, что ты пытался что-то сделать.
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Среда, 21 Октября 2009, 19:46 | Сообщение # 8 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| YURIY, ну спасибо, утешил. Такой код можно использовать только если у тебя мало файлов для копирования. А когда речь идет о нескольких десятках, то увы. Сидеть часами и писать для каждого файла строку, э туповато...
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 19:47 | Сообщение # 9 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Что опять случилось? Я же выше решение написал тебе.
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Среда, 21 Октября 2009, 19:50 | Сообщение # 10 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Я никогда еще с таким не сталкивался. Я с тобой согласен что надо немного самому все делать, учится. Но в данном случае я "пуст". В прочем если нет, то нет. Сами научимся.
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 19:52 | Сообщение # 11 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Mad-Dog) Сами научимся. Я ничего не понимаю. Вопрос: Quote (Mad-Dog) И необходимо что бы при копировании было видно сколько процентов уже скопировано. Ответ: Quote (YURIY) общее_количество_файлов - 100% скопировано_файлов - x% x = (скопировано_файлов*100)/общее_количество_файлов = процент выполнения операции Что ещё нужно? За тебя проект сделать?
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Среда, 21 Октября 2009, 19:54 | Сообщение # 12 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| YURIY, СПАСИБО. Можно удалять тему...
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 22:25 | Сообщение # 13 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Детский сад. Если тебе что-то непонятно - нужно задавать дальнейшие вопросы, а не писать, что тебе не помогают ничерта Quote (Mad-Dog) В прочем если нет, то нет. Сами научимся. Ты задал вопрос - я ответил на него? Вот скажи, пожалуйста.
Вечная память Андрею Сергееву!
|
|
| |
YURIY | Дата: Среда, 21 Октября 2009, 23:27 | Сообщение # 14 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Держи проект. Все комментарии даны в скрипте кнопки.
Вечная память Андрею Сергееву!
|
|
| |
Sam726 | Дата: Четверг, 22 Октября 2009, 10:09 | Сообщение # 15 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| YURIY, нет, ну я ж ничего такого не имел в виду. Типа что не помагают. Помагают конечно. Просто я долго доганяю. Мене надо либо самому часами сидеть изучать, эксперементировать(и не факт что еще что-то получится), либо что бы кто-то доступно объяснил(не формулой, а примером). Спасибо за проэкт. Но я так понимаю что MMB не потдерживает нормального отображения при копировании. Я скомпилировал твой проєкт, изменив только файлы копирования (с 6 на 2). Первый файл занимал 592 МБ, а второй 884 КБ. И получилось в принцепе то же что и у меня с моим примером. Code SysCommand("CopyFile","file1.1,file2.1") LoadText("Text","10%") SysCommand("CopyFile","file1.2,file2.2") LoadText("Text","20%") SysComma nd("CopyFile","file1.3,file2.3") LoadText("Text","30%") и т.д. Я имею в виду что при копировании больших файлов прога потзависает, а как скопировала выдает сообщение "скопировано"(если это прописано). Я думал что можно сделать что бы отображалось все по ходу дела. Как в Windows. Копируеш фильм, а оно показывает сколько скопировано. Понимаеш. Возможно я тут лишнего сказал(или что-то не так), извените.
|
|
| |
Rush | Дата: Четверг, 22 Октября 2009, 17:40 | Сообщение # 16 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (Mad-Dog) Я думал что можно сделать что бы отображалось все по ходу дела. Как в Windows. Копируеш фильм, а оно показывает сколько скопировано. Стандартными средствами ММВ не сделать. Но можно и средствами Винды. Например, так:
|
|
| |
Sam726 | Дата: Четверг, 22 Октября 2009, 18:38 | Сообщение # 17 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Rush, а что за файл в проєкте?
|
|
| |
Rush | Дата: Четверг, 22 Октября 2009, 18:54 | Сообщение # 18 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (Mad-Dog) а что за файл в проєкте? Пустой. Он заполняется в скрипте.
|
|
| |
DEMBEL | Дата: Четверг, 22 Октября 2009, 19:40 | Сообщение # 19 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Rush) Пустой. Он заполняется в скрипте. это ты клево извратился, я б никогда не подумал заполнять vbs командами из проекта, прилепил бы готовый
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Rush | Дата: Четверг, 22 Октября 2009, 19:44 | Сообщение # 20 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (DEMBEL) я б никогда не подумал заполнять vbs командами из проекта, прилепил бы готовый Готовый здесь, как говорят некоторые "не катит". Нужно ведь передать ему нужные параметры. А передавать через комстроку - лишние несколько строк кода.
|
|
| |
Sam726 | Дата: Пятница, 22 Января 2010, 15:38 | Сообщение # 21 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Ну вот почему сново что-то не так как надо работает? Вот код: Code file1$=EditBox$+'\game\*.tmp' file2$=EditBox$+'\game\new.exe' SysCommand("CopyFile","file1$,file2$") И он выкидывает ошибку. А если вместо * вписать имя файла, то все нормально. А если я не знаю имени файла! Как быть???
|
|
| |
DEMBEL | Дата: Пятница, 22 Января 2010, 17:13 | Сообщение # 22 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| во-первых, тут общая логическая ошибка - хочешь кучу файлов *.tmp скопировать в один конкретный new.txt? Это новое слово в копировании? во-вторых, я точно не помню, но syscommand поддерживает ли работу с именем файла по маске? вроде обычно конкретные имена должны быть... Quote (Mad-Dog) А если я не знаю имени файла! Как быть??? опиши общую ситуацию что надо сделать, че нибудь придумаем
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sower | Дата: Пятница, 22 Января 2010, 17:14 | Сообщение # 23 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Как можно скопировать *.tmp? Он вообще существует??? Такого файла не может сущесвовать.Quote (Mad-Dog) А если я не знаю имени файла! Как быть??? В см? Ты не знаешь что копировать?? Если нужно скопировать файл(ы) из папки, то пользуйся SearchForFiles("<SrcDir>\game\","tmp") - в справке подробно написано.
|
|
| |
Sam726 | Дата: Пятница, 22 Января 2010, 20:32 | Сообщение # 24 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Я так надумал. Может кто знает что-то проще. Ну вообщем вот мой способ: Code SearchForFiles("EditBox$","*.tmp") LoadText("EditBox1","<List>1") SysCommand("CopyFile","EditBox1$,file$") У меня в каталоге будет только один *.tmp файл, который мне нужно скопировать и оставить в этой же директории, только с другим именем и расширением.
|
|
| |
DEMBEL | Дата: Пятница, 22 Января 2010, 20:44 | Сообщение # 25 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ну единственно верный вариант. если не знаешь имени файла, придется его искать по любому, иначе копирование невозможно в принципе
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sam726 | Дата: Пятница, 22 Января 2010, 21:45 | Сообщение # 26 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Можно было через BAT файл. Но если файл скрытый то он его не видит. Вот и приходится: через ММВ копировать, а через ВАТ все остальное (так удобней).
|
|
| |
DEMBEL | Дата: Пятница, 22 Января 2010, 22:02 | Сообщение # 27 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Mad-Dog) Но если файл скрытый то он его не видит. так сделай его нескрытым: attrib -h "c:\papka\*.tmp"
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Sam726 | Дата: Воскресенье, 31 Января 2010, 14:08 | Сообщение # 28 |
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
| Так вот еще такая проблемка что файл используется, и изменение атрибутов невозможно Добавлено (31 Январь 2010, 14:08) --------------------------------------------- DEMBEL, а по поводу командной сроки. Я тут удаление практиковал. И у меня при запуске кода, прога виснет. Code del$='WAIT,HIDE DEL "<SrcDir>\Holidays'+S$+date2$+'.'+date1$+'.txt'+'" /Q"' Run("<System>\cmd.exe","del$") или так del$='WAIT,HIDE DEL ".\Holidays'+S$+date2$+'.'+date1$+'.txt'+'" /Q"' Run("<System>\cmd.exe","del$") Не пойму что не так???
Сообщение отредактировал Mad-Dog - Воскресенье, 31 Января 2010, 14:10 |
|
| |
DEMBEL | Дата: Воскресенье, 31 Января 2010, 14:33 | Сообщение # 29 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Mad-Dog) Не пойму что не так??? после выполнения команды cmd.exe не происходит автоматического завершения ее работы, а параметр WAIT ждет ее завершения, в комбинации с HIDE это дает видимость зависания программы. Используй для команды cmd.exe ключ /C или убери WAIT.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
YURIY | Дата: Воскресенье, 31 Января 2010, 14:56 | Сообщение # 30 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Mad-Dog) Не пойму что не так??? Тебе ведь только что Алекс рассказывал, как удобно делать отладку! Команда Message для этих целей удачно подходит! Неужели так сложно сделать Code del$='WAIT,HIDE DEL "<SrcDir>\Holidays'+S$+date2$+'.'+date1$+'.txt'+'" /Q"' Message("del$","") чтобы тут же увидеть, в чём фигня? Добавлено (31 Январь 2010, 14:56) --------------------------------------------- Quote (DEMBEL) Используй для команды cmd.exe ключ /C или убери WAIT. Вот так это делается: Code del$='WAIT,HIDE /c del "ПУТЬ_К_ФАЙЛУ" /Q' Я скоро, наверное, стану наказывать за лень воспользоваться поиском по сайту.
Вечная память Андрею Сергееву!
|
|
| |