web-dev-qa-db-ja.com

Windows 7 / Symlinks-Symlinkをディレクトリにコピーするにはどうすればよいですか?

Windows 7のディレクトリにシンボリックリンクをコピーすることは可能ですか。シンボリックリンクされたディレクトリをコピーしようとすると、その場所にコンテンツをディープコピーしようとします。

27
John2496

Windowsエクスプローラーでこれを行う方法はわかりませんが、コマンドラインで/ b引数を使用してxcopyを使用できます。 ここ を参照してください。

24
Neal

elevatedコマンドプロンプトで次のコマンドを使用します。

xcopy /b /i <source symlink name> <destination symlink name>

出力はファイルがコピーされましたですが、宛先にシンボリックリンクが作成されます。これはWindows 7およびWindows 8.xでテストされていますが、Vista以降で動作するはずです。

PDATE: Windows 10でも機能します

13
maoizm

もちろん、それらをサポートするプログラムを使用してください。 Far Manager たとえば、シンボリックリンクをリンクとしてコピーするか、トラバースしてその内容をコピーすることができます。

alt text

10
Joey

機能したのはFar Managerだけでした。ジョーイ、ありがとう。

何らかの理由でLink Shell Extensionはsymリンク/ジャンクションをコピーする方法を提供しないか、私が愚かすぎてそれを理解できません。 Drop As ...メニューのすべてを試しました。

Far Managerでは、他のウィンドウペインが宛先フォルダをポイントしていることを確認した後、インターフェースの下部にある[コピー]をクリックします。とても簡単です!

ユーザーフォルダ全体をコピーしました。アプリケーションデータなど、後で修正する必要があるいくつかのリンク。リンクシェル拡張がある場合は、右クリックして、リンクコンテキストプロパティメニューでパスを変更します。それ以外の場合は、古いドライブを指します。アプリケーションデータ、AppData\Local、Temporary Internet Files内のファイルも修正してください。コピーする前に必ず所有権を取得してください!

また、別の管理者プロファイルにログインするか、別のOSで起動する必要があります。別のOSで起動する場合は、リンクが、現在のOSが必要とするドライブ文字ではなく、ターゲットOSが必要とするドライブ文字を指していることを確認してください。たとえば、ターゲットOSはJ:\ users\Meです。私のジャンクションはC:\ users\Meを指しています。これは、C:\が起動先のドライブ文字であるためです。 (はい、リンクをクリックすると、現在のOSのフォルダーが開きます。心配する必要はありません。)

変更する必要があるレジストリエントリがあります。 こちら を参照してください。

2
gggirlgeek

これには Link Shell Extension を使用できますが、手順は少し複雑です。 (既存のシンボリックリンクをコピーするため)

指示

  1. LSEConfig.exeユーティリティを使用して、「外部ジャンクション/シンボリックリンク」設定を「スプライス」に変更します。
  2. 右クリックして「リンクソースを選択」親フォルダーをコピーするsym-linkedフォルダーの親フォルダー。
  3. Sym-linkedフォルダーをドロップしたい場所の親フォルダーに移動し、「Drop As:Smart Copy」を実行します。
  4. 一時的な親の「コンテナーフォルダー」の名前を宛先/実際の親フォルダーの名前に変更します。

手順はやや面倒なので、代わりにxcopyまたはFar Managerを使用することをお勧めします。 (まだ試していませんが、直接/単一のsym-linked-folderコピーの方が簡単だと思います)

(ただし、私の意見では、シンボリックリンクの合理化された作成については、リンクシェル拡張を取得する価値があります。)

1
Venryx

また、これを少し簡単にするシェル拡張機能も見つけました。

HowToGeek here で説明されています

そして、シェル拡張自体へのリンクは here です。

残念ながら私は自分でテストする機会がありませんでした。サーバーで行う必要があり、特に運用サーバーでシェル拡張をいじくり回したくないからです。

1
Michael12345

これは、Windows 10 Proエディションを使用して行われました。ただし、Windows 7とWindows 8は同じだと思います。

まず、非管理者ユーザーアカウントにシンボリックリンクを作成する機能を追加します。これは、「セキュリティ設定>ローカルポリシー>ユーザー権利の割り当て>シンボリックリンクの作成」のローカルセキュリティポリシー(secpol)にあります。管理者以外のユーザーをこのユーザー権利の設定に追加すると、シンボリックリンクを作成できます。シンボリックリンクをコピーして作成する場合に必要な権限です。

次に、コマンドプロンプトウィンドウで次のようにします。

copy /L sourceLocation targetLocation
1
eug-