元のファイルをコピーし、ファイル名を変更してリンクを削除することで、シンボリックリンクの作成を取り消します。

元のファイルをコピーし、ファイル名を変更してリンクを削除することで、シンボリックリンクの作成を取り消します。

シンボリック リンク タイプが企業ドメインで許可されていないことを知る前に、Windows 7 ユーティリティを使用して、バイト単位で重複ファイルを正確に削除し、シンボリック リンクに置き換えました。行った変更をすべて元に戻す方法が必要ですが、プログラムにはそれを行う方法がありません。

リンクを見つけて、ファイルを見つけ、リンクを削除し、ファイルをフォルダーにコピーして、リンク名と一致するように名前を変更するようなスクリプトを作成することは可能ですか? または、これを行うソフトウェアはありますか?

あらゆるご協力に感謝します。

答え1

これは、よく計画され、維持されているバックアップ戦略が本当に効果を発揮するタイプの状況です。あなたの会社がこれに当てはまる場合は、それを使用してください。

あなたが行ったことは、スペースを節約するための悪い方法です。次の使用例を検討してください。

  1. ユーザーは、作業の準備として、Deptx 共有からファイルをコピーします。
  2. 彼女のコピーを投げ捨て、元のファイルへのシンボリックリンクを作成する
  3. 彼女は他の人の仕事にまだ必要とされているオリジナルを修正する
  4. ...

ストレージがそれほど不足している場合は、追加のストレージを購入するためのビジネス プランを作成することをお勧めします。理想的には、ブロック レベルの重複排除をサポートするソリューションです。既存のアプライアンスが重複排除を提供している場合は、それを実装するための承認を得るために変更要求を送信することもできますが、その時間は過ぎています。

将来に向けたメモ。ストレージ管理者は、ストレージを拡張する時期が来たらビジネス部門に通知する必要があります。通常、ストレージが半分ほどいっぱいになったときです。ストレージが 70% いっぱいになったら、予算が割り当てられるまで毎日火災警報を鳴らし始めることができます。予算が割り当てられない場合は、ビジネスにリスクがあることを率直な会議で伝える必要があります。データは現代のビジネスの中核です。


すべてのシンボリックリンクは次のように識別できます。

C:\Users\user>dir /AL /S C:\ | find "SYMLINK"
07/14/2009  01:08 AM    <SYMLINKD>     All Users [C:\ProgramData]

# Only one result in on my Windows 7 host, and it's a system default.
# There are likely more in Windows Server OSs.
# Cmd Explained:
# /AL   A Lists file with attribute:L (Symlinks and dir junctions)
# /S    Do recursively
# C:\   Drive to scan

「All Users」は「C:\Users\All Users」というシンボリックリンクで、「C:\ProgramData」をターゲットとしています。上記のコマンドの出力には、必要なシンボリックリンクへの完全なパスは示されないことに注意してください。

<<< STOP >>> シンボリックリンクの数が 1,000 未満の場合は、シンボリックリンクを手動でターゲット ファイルに置き換えることを強く検討する価値があるかもしれません。

NTFSLinksView を使用できます。完全なターゲット パスとシンボリック リンク パスを含むデータをエクスポートできるようです。http://www.nirsoft.net/utils/ntfs_links_view.html

これらの値を取得したら、この Powershell でループできます。プログラムの出力に合わせて delim を変更します。例では、区切り文字としてスペースを設定しています。コンマを使用する場合は、「,」を使用します。CVS にはリンク データとターゲット データのみが含まれていることを確認してください。その順序で。

注: デフォルトのシンボリックリンクは保持されません...

Import-CVS -Delim ' ' -Path input.cvs -Header Link,Target | ForEach-Object {
cmd /c rmdir $Link
Copy-Item $Target $Link
}

警告: これはテストされていないため、さらに損害を与える可能性があります... 自己責任で使用してください。以前のバックアップが存在せず、この結果に至った場合は、先に進む前にバックアップを実行してください。

答え2

この問題はドメイン ポリシーが原因ではありません。シンボリック リンクを壊す Windows の更新が原因です。このスレッド実際の問題を理解するのに役立ちました。更新プログラムをアンインストールした後、コマンド プロンプトを使用して次のコマンドを実行します。

fsutil 動作セット SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

最上位のフォルダをローカル USB ドライブにコピーし、元のファイルを元の名前のファイルとして取得して、私が行った「損害」のほとんどを元に戻すことができました。

アップデートをアンインストールして上記のコマンドを使用する場合、リンクが正しく機能するためには、両方のマシンで両方の操作を行う必要があります。私は、フォルダーの重複を削除するために最初に使用したコンピューターでのみ、これを実行できました。ファイルを USB ドライブにコピーしてリンクを動作させ、元のファイルを取り戻すために、どちらかの操作を実行する必要があったかどうかさえわかりません。この時点で問題を修正したので、これ以上コーディングを続ける必要はありません。

関連情報