Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2014, 10:31   #1
pumka901
 
Регистрация: 04.02.2014
Сообщений: 4
По умолчанию копирование из QNX4.25 в Windows

Необходимо скопировать очень большой (порядка 80 Гб) объем информации со съемного диска, записанного на QNX в Windows. Так как винд не видит этого диска, пишу программу в Photone. Копируется очень медленно (не один день). Хочу сделать такую двигающуюся полоску, которая бы показывала, сколько скопировалось, а сколько осталось, дабы пользователь не подумал, что комп подвис. Итак, 2 вопроса:
1. Как узнать размер дирректории? Делать цикл, чтобы сложить все размеры файлов нереально: поддиректорий очень много, а файлов в них ещё больше. Знаю, что есть команда в vedit: du -s. Как перевести её результат в цифру?
2. Какие могут быть варианты увеличения скорости копирования?
pumka901 вне форума Ответить с цитированием
Старый 04.02.2014, 19:20   #2
nikolay1982
Пользователь
 
Регистрация: 31.12.2013
Сообщений: 47
По умолчанию

С Photone незнаком.
QNX - unix подобная система.
А значит может быть проблема копирования файлов( регистр букв, недопустимые символы, ссылки, потеря прав и т.д).
Поэтому, нужно использовать unix совместимые архивы.
Создать их нужно по кускам, чтобы не были слишком большими.
Скрипт написать, что ли.

Возножно, вы выделяете маленький размер буфера.
Если считывать по байту, то будет очень - очень медленно.
Можете описать вашу проблему подробнее?
nikolay1982 вне форума Ответить с цитированием
Старый 05.02.2014, 09:08   #3
pumka901
 
Регистрация: 04.02.2014
Сообщений: 4
По умолчанию

я пишу просто
system("cp -R -n //1/apx //1/dos/c/apx/2014-02-05");
pumka901 вне форума Ответить с цитированием
Старый 05.02.2014, 09:12   #4
pumka901
 
Регистрация: 04.02.2014
Сообщений: 4
По умолчанию

Архивирует тоже очень медленно. Если копирование можно продолжить после перезагрузки в другой день, то с архивом сложнее: не успеет за день заархивировать, ничего не сохраниться. К тому же с большим каталогов вообще не получилось создать архив, вылетел с ошибкой
pumka901 вне форума Ответить с цитированием
Старый 05.02.2014, 13:03   #5
nikolay1982
Пользователь
 
Регистрация: 31.12.2013
Сообщений: 47
По умолчанию

Я думаю, можно написать скрипт, который архивирует подкаталоги по частям.
QNX имеет bash? Должен вроде иметь.
Я у себя на Linux использовал примерно такой скрипт:
Код:
if [ $# = 2 ];
then 
	cd $1 || exit
	for n in *;
	do
 		echo try zip -r "$2/$n.zip" "$n"
 		zip -r "$2/$n.zip" "$n" || (echo "error pack $n" && break) 
	done
else
	echo "usage dir2zip src_dir dst_dir"
fi
echo "Complete!"
То есть для каждого файла( или каталога) в папке, заданной 1-м параметром,
создается архив, в папке, заданной 2-м параметром. Первоночально я использовал .tar.gz, но скорость больше оказалась при использовании zip. Правда, это подходит для файлов без проблем с регистром, без запрещенных для DOS имен файлов символов.
Этот способ может быть полезным, если подкаталоги сбалансированны, то есть имеею оптимальные размеры, для того, чтобы можно было считывать по частям.
Скрипт можно так доработать, чтобы, если уже архив, с соответсвующим именем,
то не производить его повторное создание. То есть возможность прерывания скрипта, с повторным запуском для продолжения задачи.
nikolay1982 вне форума Ответить с цитированием
Старый 18.03.2014, 09:53   #6
pumka901
 
Регистрация: 04.02.2014
Сообщений: 4
По умолчанию

Думаю, что средствами Windows, копирование будет быстрее. Пытаюсь увидеть этот съемный диск (QNX) через винду с помощью Самба. Нашелся вариант, где QNX и Windows на разных машинах: там в QNX в файле smb.conf прописывается IP-адрес винда, а винд видит QNX через браузер. А как это сделать, если они на одной машине?
pumka901 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование ячеек на лист 2 и по условию копирование строки в буфер FiataliS Microsoft Office Excel 7 11.05.2020 18:19
копирование строк, соответствующих условию фильтра и копирование на новый лист xorek Microsoft Office Excel 0 09.07.2012 18:13
Копирование текста в буфер в Windows 7 DemonXT Общие вопросы Delphi 6 11.04.2011 19:39
Копирование в каталог windows Черничный Общие вопросы Delphi 2 23.07.2008 03:52
Копирование в буфер Windows NeiL Общие вопросы Delphi 3 23.04.2008 21:46