Как убедиться, что скопированные файлы совпадают с оригиналом

Допустим, у вас есть большой кусок файлов, которые вы хотите скопировать в другое место для архивирования.

Поскольку данные будут храниться в архиве в течение многих лет, последнее, что вам нужно, это выяснить, какие данные, которые вы скопировали несколько лет назад, не являются той копией, которую вы хотели.

Итак, как вы узнаете, что целостность данных остается неизменной во время процедуры копирования?

Один надежный способ убедиться, что данные в источнике и месте назначения совпадают, — это использовать хеш-файл.

Создайте хэш для каждого файла в источнике и сравните с файлом, созданным в месте назначения.

Если они одинаковы, вы знаете целостность данных на обоих концах.

Но это требует много дополнительной работы, хотя в Windows есть способы генерирования хеш-файлов.

Есть ли более простой способ?

В последней версии PowerShell появился набор командлетов, которые позволяют создавать файл каталога, содержащий полный список хеш-файлов для данной папки, и использовать его для сравнения этой же папки, чтобы убедиться, что то, что было в исходной папке, также находится в новом месте ,

Вот как это сделать.

Сначала используйте командлет New-FileCatalog для создания файла каталога исходной папки.

New-FileCatalog -Path source -CatalogFilePath sourcecatalog.cat -CatalogVersion 2.0

Затем скопируйте исходную папку в место назначения, используя любые инструменты копирования файлов, т.е. RoboCopy.

После копирования используйте командлет Test-FileCatalog, чтобы проверить место назначения, используя файл каталога, созданный ранее.

Test-FileCatalog -Path destination -CatalogFilePath sourcecatalog.cat

Внимательно посмотрите на вывод, что вы ожидаете увидеть действительный вывод в поле Статус.

Если не получилось, лучше сделать один шаг назад и заново скопировать данные.

Поскольку командлеты New-FileCatalog и Test-FileCatalog работают только в PowerShell 5.1 и более поздних версиях, если вы работаете в Windows 7 или 8.1, следуйте инструкциям по обновлению PowerShell до последней версии.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40