Копирование с проверкой - возможно ли?

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Silent Rain писал(а):Где конкретно это можно посмотреть и что заранее нужно выбрать?
http://forum.wincmd.ru/viewtopic.php?p=44713#44713
Тут внешний винт стал частенько подвисать и жутко долго копировать. Допустим, скопировал метров 100 и снова завис на несколько минут!
Упомянутая серым цветом в моём предыдущем посте флешка вела себя похоже — скорость периодически менялась от нормальной (~8MB/s) до 500-700kB/s. Только не помню, появлялась ли надпись "Программа не отвечает", но TC задумывался так, что невозможно было отменить копирование.
Это нормальное поведение для внешних винтов? Если нет, то из-за чего такое может случаться?
Конечно не нормальное. Диагноз: плохой контакт в разъёме\кабеле
Последний раз редактировалось Tol!k Ср дек 02, 2009 10:40, всего редактировалось 1 раз.
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Посмотреть: Device Manager->Disk Drives->твой винт->Свойства->Policies (как называется в русской винде не знаю).
Я бы выбрал Optimize for quick removal, тогда данные кешироваться не будут, скорость работы винта будет ровно та, что обеспечивается железом.
Silent Rain
Сообщения: 50
Зарегистрирован: Чт сен 10, 2009 21:19

Сообщение Silent Rain »

D1P писал(а):Посмотреть: Device Manager->Disk Drives->твой винт->Свойства->Policies (как называется в русской винде не знаю).
Я бы выбрал Optimize for quick removal, тогда данные кешироваться не будут, скорость работы винта будет ровно та, что обеспечивается железом.
Вот, что у меня стоит:
Изображение

P.S. Я тут подумал, а может дело в NTFS? Ведь изначально винт был в FAT32, но потом я его переформатнул из под DOS'а в NTFS. Может в этом проблема? :roll:
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Настройка верная. Значит, не кеширование, по крайней мере - не кеширование ОС.
Silent Rain писал(а):Я тут подумал, а может дело в NTFS?
Очень маловероятно.
Аватара пользователя
Plumber
Сообщения: 121
Зарегистрирован: Пн окт 27, 2008 19:43

Сообщение Plumber »

Silent Rain
Проблема может быть и в плохом контакте, и в NTFS (индексация) и в антивирусе. Думаю на этом не стоит слишком заострять внимание, так как это скорее всего единичные случаи, а вот проблема копирования больших файлов через USB интерфейс, судя по продолжению темы, осталась пока насущной.
По моим наблюдениям, сбои происходят скорее всего где-то на уровне системного кеша, иначе как объяснить эффект, который я уже описывал ранее - проверка CRC после копирования стандартными методами, происходит без обращения к к носителю.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Код: Выделить всё

@echo off &chcp 1251 >nul
rem Копирование с проверкой контрольных сумм
rem Параметры: %F "%T"
rem Автор: Tol!k
rem Используется RHash http://rhash.anz.ru/
setlocal enableextensions
for /f "delims=" %%n in (%1) do (
call :x "%%n" "%~2"
)
move ~hashs~.tmp "%~2~hashs~.tmp"
chdir /d "%~2"
for /f "usebackq delims=" %%h in ("%~2~hashs~.tmp") do (
title Check %%h
rhash.exe -c --ansi %%h 2>nul |findstr /r /c:"ERROR, .* should be" >>~err~.txt
)
for %%e in (~err~.txt) do (if "%%~ze"=="0" del "%%~nxe" /q)
if exist ~err~.txt start ~err~.txt
del "%~2~hashs~.tmp" /q
exit /b
:x
set "l=%~1"
title Hashing "%l%"
if "%l:~-1%"=="\" (
rhash.exe -r -M --ansi "%l:~0,-1%" >>"%l:~0,-1%.md5" 2>nul
title Copying "%l%"
xcopy "%l%*" "%~2%l%" /i /s/e /k/r/h >nul
type "%l:~0,-1%.md5" >>"%~2%l:~0,-1%.md5"
echo "%l:~0,-1%.md5" >>~hashs~.tmp
) else (
rhash.exe -M --ansi "%l%" >>"%l%.md5" 2>nul
title Copying "%l%"
echo f| xcopy "%l%" "%~2%l%" /k/r/h >nul
type "%l%.md5" >>"%~2%l%.md5"
echo "%l%.md5" >>~hashs~.tmp
)
goto :eof
Мне-то было нужно только автоматическое создание контрольных сумм для копируемых файлов, но вспомнив об этой теме, приделал проверку хэшей
Roiko
Сообщения: 15
Зарегистрирован: Вс июн 15, 2008 23:54

Сообщение Roiko »

Так если проблема с копированием файлов (имеется ввиду с последующей проверкой CRC) осталась и по сей день (у меня тоже), то появится ли в ТС возможность копирования файлов с проверкой CRC? Или это неразрешимая проблема?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Roiko
Автор TC этот форум по понятным причинам не посещает. Поэтому вопрос, поставленный таким образом, в этой теме задавать бессмысленно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Roiko
Сообщения: 15
Зарегистрирован: Вс июн 15, 2008 23:54

Сообщение Roiko »

Avada писал(а):Roiko
Автор TC этот форум по понятным причинам не посещает. Поэтому вопрос, поставленный таким образом, в этой теме задавать бессмысленно.
Здесь (на форуме) есть люди, общающиеся с Автором ТС. Так может быть, кто-нибудь написал бы ему об этой проблеме.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Там есть один товарищ, который на эту тему не один год ведет полемику. Как видишь, пока безрезультатно. Если интересно, вот ссылка на тему.

Собственно, основной контраргумент Гислера - если проверять правильность записи сразу после записи, то данные могут считаться из системного кэша, а не напрямую с носителя, на который записывались - поэтому проверка окажется успешной, хотя на самом деле может случиться ошибка записи.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Roiko
К сказанному по поводу позиции Гислера добавлю, что сверхкритичным отсутствие в TC встроенной функции проверки после копирования не считаю. Для случаев, когда это действительно необходимо, и здесь, и на оффоруме предложено несколько альтернативных вариантов решения проблемы. Меня, например, вполне устраивает интеграция в TC TeraCopy.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить