Windows の xcopy コマンドは、データを安全にバックアップする手段を提供しますか?

Windows の xcopy コマンドは、データを安全にバックアップする手段を提供しますか?

最近、xcopy コマンドを使用してコンピューター上のデータをバックアップしました。バックアップ ファイルとディレクトリをいくつかざっと確認したところ、元のファイルとディレクトリは同じでした。ただし、xcopy の代わりにバックアップ ウィザードを使用する人もいると聞いていますが、xcopy はデータをバックアップする安全な手段であるかどうか疑問に思っています。

Windows コマンド プロンプト ターミナルに次のコマンドを入力しました。

xcopy [コピー元] [コピー先] /s /e /v

ソースはハード ドライブのホーム ディレクトリでした (ハード ドライブはパーティション化されておらず、ホーム ディレクトリは 1 つしかありません)。宛先はフラッシュ ドライブに作成される新しいディレクトリでした。コマンドを入力すると、宛先がディレクトリかファイルかを尋ねられたので、ディレクトリを指定しました。サブディレクトリをコピーするには、「/s」オプションを使用しました。空のディレクトリをコピーするには、「/e」オプションを使用しました。すべてのコピーがオリジナルと同じであることを確認するには、「/v」オプションを使用しました。コピーする暗号化されたファイルはありませんでした。

コマンドに含めたパラメータについては、正しい順序は「/s /e /v」だったと思います。ただし、これが実際に使用した順序であったかどうかははっきりと覚えていません。これらのパラメータの順序は重要ですか?

ソースはホーム ディレクトリだったので、コンピューター上のソフトウェアのバックアップは作成していないことはわかっています。ただし、ソフトウェアではなく、データのみをバックアップしたかったのです。

隠しファイルをコピーするための「/h」オプションがあることは理解しています。隠しファイルにはデータは一切含まれていないため、このオプションは含めませんでした。隠しファイルはそのままにしておくのが最善であると読んだことがあります。隠しファイルは、オペレーティング システムとプログラムを実行する目的で Windows によって作成され、ユーザーが意図せずに操作しないように隠されていると理解しています。

コンピューターに Ubuntu をインストールする予定なので、データをバックアップしました。安全のため、それぞれ別のフラッシュ ドライブに複数のバックアップを作成しました。データを定期的にバックアップする必要があることは理解しており、Ubuntu をインストールした後にバックアップする予定です。データは Windows ディレクトリに保存されているため、Ubuntu からデータにアクセスするには Wine を使用する必要がある可能性があることを理解しています。

インストールを試みる前に、xcopy コマンドを使用する方法が安全かどうかを尋ねるべきだと思います。このコマンドは、ホーム ディレクトリからすべてのデータをコピーするものでしょうか? ファイルまたはサブディレクトリが正しくコピーされなかった場合、プロセスは停止し、エラー メッセージが表示されるでしょうか? 代わりにバックアップ ウィザードを使用する理由はありますか?

ありがとう。

答え1

この問題をもう少し調べた結果、解決策は、まず私が投稿した xcopy コマンドを実行し、次に次のコマンドを実行することだと考えました。

エコー%ERRORLEVEL%

上記のコマンドは、xcopy によって生成されたエラー レベルを出力すると思います。echo コマンドからの出力が 0 であれば、xcopy の実行中にエラーがなく、コピーが成功したことを意味します。

xcopy コマンドには属性「/s /e /v」が含まれているため、すべてのサブディレクトリとその内容がコピーされ、コピーがオリジナルと同一であることが検証されます。

「echo %ERRORLEVEL%」コマンドについては、次のソースから知りました。

https://www.computerhope.com/jargon/e/erroleve.htm#テストエラーレベル

フラッシュドライブから最近のバックアップを削除し、説明した xcopy コマンドを使用して新しいバックアップを作成し、echo コマンドを実行しました。echo コマンドはゼロの値を返しました。これは、コピーの作成時にエラーがなかったことを意味していると思います。したがって、コピーは成功したと思います。

@SenorCMasMas: robocopy を使用するというあなたの提案を試してみました。しかし、robocopy コマンドは、"dir /a" と入力することによってのみ表示できるディレクトリからファイルを転送しました。これらはシステム ファイルと隠しファイルだったに違いないと思います。robocopy は隠しディレクトリから特定のファイルを転送しようとして停止し、"Ctrl-C" でプロセスを中止しました。ファイルの転送には管理者権限が必要だったと思います。ただし、データのバックアップのみを行い、システム ファイルと隠しファイルを転送したくないため、管理者としてコマンド プロンプトを実行しようとはしませんでした。robocopy は、"/xa:" パラメータとともに使用すると、特定の種類のファイルの転送を除外できることは理解しています。このパラメータを使用してシステム ファイルと隠しファイルを除外しようとしましたが、robocopy は隠しディレクトリからファイルを転送し、そのようなファイルの 1 つで停止しました。システム ファイルを除外するために「/xa: s」、隠しファイルを除外するために「/xa: h」、「/xa: sh」、「/xa: s /xa: h」を試しました。毎回同じ問題が発生しました。

robocopy について少し調べてみたところ、このコマンドの主な利点は、以前に転送されたものを変更せずにディレクトリとファイルを転送できることだとわかりました。初めてバックアップを作成しようとしています。そのため、robocopy を使用する必要がある理由がわかりません。私の目的には xcopy コマンドで十分だと思います。

@JW0914: xcopy と robocopy はどちらも非効率で、データの整合性が保証されないとおっしゃいました。現在、私のコンピュータにはそれほど多くのデータは保存されておらず、xcopy に異常な時間がかかったことはありません。したがって、効率性について心配する必要はないと思います。"/v" パラメータを使用したため、xcopy はコピーがオリジナルと同一であることを確認しました。"echo %ERRORLEVEL%" コマンドでエラー メッセージが出力されなかったため、データのコピーにエラーはなかったと思います。したがって、データの整合性に問題はないと思います。

Windows のバックアップに Linux を使用すべきではないとおっしゃいました。私は Windows のバックアップに Linux を使用しようとしているわけではありません。Linux の経験があり、そのオペレーティング システムを好んでいます。コンピューターを入手したらすぐに Linux をインストールすべきでしたが、そうしませんでした。そのため、Windows システムにデータが残っています。今 Linux をインストールしたいのですが、まずデータが安全にバックアップされていることを確認する必要があります。

SenorCMasMas と JW0914 に感謝します。あなたの意見に感謝します。あなたが提供できる追加の意見や、他の人からの意見があれば、ぜひ教えてください。

関連情報