Windowsで「使用中」または「ロック」されているファイルのバックアップ/コピー(コマンドライン)
他のアプリケーションによってロックされているファイルをコピーしようとしたことがある場合は、おそらく「他のプロセスがファイルの一部をロックしているため、プロセスはファイルにアクセスできません」というエラーメッセージが表示されます。それでは、どうやってそれをコピーしますか?
XP以降、Windowsはボリュームシャドウコピーと呼ばれるテクノロジをサポートしています。これはVistaの以前のバージョンの機能およびシステムの復元とバックアップを強化するために使用されています。これは、ファイルまたはドライブの一時的なスナップショットを作成し、他のアプリケーションがそのファイルにアクセスまたは変更している間でも、アプリケーションがそのスナップショットから読み取ることを許可することです。.
私たちにできることは、ファイルをコピーするためにこのサービスを利用するHoboCopyと呼ばれるコマンドラインユーティリティを使うことです.
前提条件について
HoboCopyと他のほとんどのバックアップユーティリティはWindowsで2つのサービスを利用します、そしてあなたはこれらのサービスが無効にされていないことを確認する必要があります:
- ボリュームシャドウコピー
- マイクロソフトソフトウェアシャドウコピープロバイダー
手動起動のままにしておくことができるので、常に実行している必要はありません。 Hobocopyは必要に応じて2つのサービスを自動的に開始します、そしてそれが終わった後にVolume Shadow Copyサービスは再びオフにされます.
HoboCopyを使用した単一ファイルのバックアップ/コピー
HoboCopyは実際にはフォルダのセット全体をバックアップするために使用されることを意図しているため、構文は少し変です。最後にfilename引数を渡すことで単一のファイルをバックアップするためにそれを使うことができます。.
注:Windows Vistaでは、スタートメニューのコマンドプロンプトを右クリックし、[管理者として実行]を選択して管理者モードのコマンドプロンプトを起動する必要があります。.
構文:
hobocopy c:\ directoryname \ d:\ backupdirectory \
たとえば、c:\ users \ geek \ mail \ outlook.pstファイルをd:\ backups \ outlook.pstにバックアップします。これが私が使用する構文です。
C:\>コピーコピーc:\ users \ geek \ mail \ d:\ backups \ Outlook.pst
HoboCopy(c)2006ワンデラコーポレーション。 [email protected]
c:\ users \ geek \ mailからd:\ backups \へのフルコピーの開始
コピーしたディレクトリ
バックアップは正常に完了しました.
バックアップは2008-03-09 01:57:28に開始し、2008-03-09 01:58:39に完了しました.
1ファイル(606.45 MB、1ディレクトリ)コピー、7ファイルスキップ
HoboCopyを使用したディレクトリ全体のバックアップ
はるかに便利なタスクは、おそらく安全のために外付けハードドライブに私のユーザーフォルダ全体をバックアップすることでしょう。そのために、コマンドライン引数をいくつか追加します。.
/いっぱい | すべてのファイルをコピーする |
/スキップ拒否 | 許可エラーのためにアクセス拒否メッセージを無視します. |
/ r | 再帰的にコピーする |
/年 | プロンプトを表示しないで、すべてをコピーするだけです |
構文:
hobocopy / full / skipdenied / y / r c:\ directoryname \ d:\ backupdirectory \
同じ例を見てみましょう。ユーザーディレクトリ全体をd:\ backups \にバックアップしたいので、このコマンドを使用します。
hobocopy / full / skipdenied / y / r c:\ users \ geek \ d:\ backups \
このコマンドは、完了までに非常に長い時間がかかる可能性があるため、昼寝などをすることをお勧めします。最後に、ディレクトリのほぼ完全なコピーを作成する必要があります。パーミッションエラーが発生した場合は、コピーされなかったファイルに対して警告が表示されます。現実的には、ユーザーディレクトリ内のファイルにはこの問題はありません。.
HoboCopyを使用したドライブの増分バックアップ
Hobocopyはファイルの増分バックアップもサポートしているため、前回のバックアップ以降に変更されたファイルのみがコピーされます。これはrsyncのようなユーティリティと同じように動作しますが、hobocopyは最後のバックアップ日をコマンドラインで指定する必要があるファイルに保存します。.
/ statefile =ファイル名 | このフラグは、最後のバックアップ情報を含むファイルを指定します. |
/増分 | 最後のフルコピー以降に変更されたファイルのみをコピーする. |
構文:
hobocopy / incremental / statefile =ファイル名/ y / r c:\ディレクトリ名\ d:\ backupdirectory \
例:
hobocopy / incremental /statefile=d:\lastbackup.dat / y / r c:\ users \ geek \ d:\ backups \
このコマンドを初めて実行するときは、/ incrementalの代わりに/ fullを使用する必要があります。そうしないと、状態ファイルがまだ作成されていないためにエラーが発生します。その後、/ incrementalスイッチを使って増分バックアップを実行できます。.
これは、スケジュールされたタスクの一部として一連のフォルダを自動的にバックアップするための優れた方法です。.
HoboCopyをsourceforge.netからダウンロードする