あるローカルNTFSディスクから別のローカルNTFSディスク(Windows 7以降)にディレクトリ構造をコピーし、このディレクトリ構造内に存在するハードリンクを保持する必要があります。
許容できる解決策は、コピーする前にハードリンクを(相対的な)シンボリックリンクに置き換えることですが、それが実行可能かどうかもわかりません。
ここでのオプションは何ですか?
コマンド:ln --copy x:\dir\dir2 y:\dir\newdir
上記の例では、x:\ dir\dir2の下のディレクトリとファイルがy:\ dir\newdirにコピーされ、x:\ dir\dir2内のすべてのハードリンク/ジャンクション/シンボリックリンクがyの下の新しい場所にコピー/結合されます。 :\ dir\newdir。
リソース:http://schinagl.priv.at/nt/ln/ln.html
ダウンロード:http://schinagl.priv.at/nt/ln/ln.html#contact
注:CPUアーキテクチャ用のこのソフトウェアをZipファイルからダウンロードするだけでなく、vcredist(Visual C++再頒布可能パッケージ)をインストールします。次に、ファイルとフォルダをZipファイルから新しいフォルダに抽出します(例:C:\Temp
)。コマンドラインで、その[ディレクトリ]フォルダーに移動し、上記の例に示すように、ドライブの場所に必要なコマンドを実行します。 ln --help
を実行するとヘルプの詳細が表示されますが、上記のコマンド例では、ドキュメントに従ってhard links
をコピーすることになっています。
リソース:http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
ダウンロード:http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact
このソフトウェアで関心のあるセクションまたは機能
Smart Mirror
Clone
Smart Copy
ln-コマンドラインハードリンク-スクリーンショットのダウンロード
Link Shell Extension-Download Screen Shot
興味深いメモ
hard links
は、ファイルポインタなどのために同じディスクパーティションにロックされており、複数のパーティションで使用できないようです。また、NTFSパーティションのhard links
はMaster File Table
レコード(または少なくともカウントの属性)の一部であるため、これらを独自のMFT
がある既存のディスクにコピーすると、少なくともパーティションレベルでバイト単位のクローンを作成しないと問題が発生します。
コマンドラインユーティリティrsync
はあなたが求めることをします。
古いデータがロケーションAにあり、新しいデータがBにあると想定して、以下を実行します。
rsync -ahPruvz --hard-links A B
Rsyncマニュアルからの引用:
これは、rsyncに、ソースでハードリンクされたファイルを探し、宛先で対応するファイルをリンクするように指示します。
rsync
を取得して使用するにはどうすればよいですか? Windowsには2つの簡単な選択肢があります。
最初の選択肢:cygwin
を使用します。これはWindowsソフトウェアです。それをインストールし、パッケージを選択するステップでrsync
を追加します。他はすべてデフォルトのままにします。インストールしたら、シェルを使用してコマンドを入力します。必要に応じて、rsync
だけでなく、フルパス/usr/bin/rsync
を使用できます。 Windowsドライブにアクセスする場合は、「/ cygwin/drives」などのパスを使用し、常にTABを使用してオートコンプリートを試みてください。
2番目の選択肢:デスクトップコンピューターの場合は、ライブのGNU/Linuxディストリビューションを使用します。ライブUSBイメージを準備し、そこから起動し、目的のディスクをマウントして、rsyncを起動します。ライブイメージにrsync
がない場合は、インストールします。 (Debianおよびその派生物ではapt-get install rsync
。)Linuxエコシステムの経験がまだない場合は、cygwinの方が簡単かもしれません。
Windowsのrsyncを調べてみてください。 rsyncにはハードリンクを保持するオプションがあるため(フラグ-H、-hard-links)、ジョブを実行する必要があります(ソース: https://download.samba.org/pub/rsync/rsync.html =)。
CwRsyncのようなものを調べてみることができます: https://www.itefix.net/cwrsync# これにはGUIがあります。
cwRsyncは、RGUI for WindowsとクライアントGUIのパッケージです。 cwRsyncを使用して、リモートファイルのバックアップと同期を高速化できます。
ここのパーティーにはとても遅れました。
火で火と戦う。 robocopyは混乱を許したので、robocopyを使用してクリーンアップします。
空のディレクトリを作成し、robocopyを使用して、purgeオプションを使用して空のディレクトリをターゲット(非常に長いパスを持つ)にコピーします。
md %temp%\foo
robocopy %temp%\foo target /purge
rd target
rd %temp%\foo
うまくいくはずです。