Windows XPは、別のショートカットへのショートカットを作成しようとすると、元のショートカットのターゲットを新しいショートカットに割り当てます。これは、ターゲットパスを手動で入力しても発生し、元のショートカットのコピーが残ります。これは私が望むものではありません。
.lnk
ファイルが別の.lnk
ファイルを直接指すようにするにはどうすればよいですか?この二重の間接参照の形式は、頻繁に移動するファイルへのショートカットを管理するのに非常に役立ちます。
Windows XPは、別のショートカットへのショートカットを作成しようとすると、元のショートカットのターゲットを新しいショートカットに割り当てます。これは、ターゲットパスを手動で入力しても発生し、元のショートカットのコピーが残ります。これは私が望むものではありません。
.lnk
ファイルが別の.lnk
ファイルを直接指すようにするにはどうすればよいですか?この二重の間接参照の形式は、頻繁に移動するファイルへのショートカットを管理するのに非常に役立ちます。
回答:
リンクにリンクすることの有用性を完全に理解しており、簡単な解決策も探しています。私が思いついた最善の方法は、shortcut.lnkファイルを指すハードリンクを使用することです。私はシンボリックリンクをテストしました(ジャンクションはフォルダーではなくファイルのため、テストされていませんでした)これらは機能しません(作成時に壊れたファイルであり、開くことができません)。
ハードリンクには、多くの長所と短所があります。主な欠点は、簡単にバックアップすることがほぼ不可能であることです(別のダイビングに、または同じドライブの別の場所にバックアップするには、サードパーティのソフトウェアまたはスクリプトが必要です)。主な利点は、元のファイルを変更すると自動的に更新されるため、1つのショートカットファイル(新しいパス/アイコン)を変更すると、関連するすべてのハードリンクも変更されます[ただし、ハードリンクの名前は一意であるため、ファイル名を変更してもハードリンク名を変更する、またはその逆]。ハードリンクの長所と短所の両方であるもう1つの機能は、ハードリンクのアイコン/パスを変更する(ハードリンクデータを変更する)と、オリジナルも変更されることです。これには「リンク自体の削除」は含まれません(リンクは他のファイルと同様に削除できます。元のファイル自体は削除しません)。これは、関連付けられているすべてのリンクの同期を維持するために有利ですが、ハードリンクが脆弱な場所に格納されていて、データが悪意を持って変更されている場合や、単一のリンクのデータを変更する際にユーザーエラーが発生した場合には不利です。この変更は、オリジナルを含むすべてのハードリンクパートナーに適用されます。率直に言って、「安定したソース参照」が必要な場合を除いて、この動作は一般的に役立ちます(一方向の変更)。この変更は、オリジナルを含むすべてのハードリンクパートナーに適用されます。率直に言って、「安定したソース参照」が必要な場合を除いて、この動作は一般的に役立ちます(一方向の変更)。この変更は、オリジナルを含むすべてのハードリンクパートナーに適用されます。率直に言って、「安定したソース参照」が必要な場合を除いて、この動作は一般的に役立ちます(一方向の変更)。
Windowsエクスプローラーでハードリンクを含む個々のハードリンクとフォルダーのコピーをテストしました。その結果、元のデータへの関連付けが解除されたショートカットが作成されました(関連付けられたハードリンクではなくなったため、元のリンクを変更しても変更されません)。この単純なコピーの欠如は非常に迷惑であり、それらを広範囲に使用することに消極的である主な理由ですが、特定の目的(少数の安定したディレクトリからデスクトップ/タスクバーへのリンクの同期など)しか持っていない場合/ startmenu)それらは依然として良い解決策である可能性があります(ただし、ディレクトリの構築を自動化するスクリプトを書かなければ、他のシステムに実際に移植することはできません)。ただし、移動せずに移動します(作成後は、ファイルシステムの任意の場所に移動できます。「コピー」することはできません)。
ハードリンクを作成するには、管理者特権のコマンドプロンプト(system32で開いた.cmd、または.cmdを管理者として実行)を開き、次のように入力します。
mklink /H [path and name of Hardlink] [location of original file]
例:
mklink /H C:\users\you\desktop\hardlink.lnk C:\users\you\location\shortcut.lnk
ハードリンクをリンク先のファイルタイプ(ここでは.lnkなどですが、メモ帳ドキュメントのhardlink.txtなど)で指定することをお勧めします。これは、基本的に元のファイルのミラーリングであり、Windowsエクスプローラーがそれをあたかも扱うかのように扱うためです。オリジナルでした(これも便利な動作です)。また、コマンドプロンプト(またはコマンドにshellExtensionまたはguiを提供するサードパーティソフトウェア)を介してのみ作成されていることを直接述べる必要があります。また、それらは「ミラーリングされたコピー」ではありません'元のオブジェクトの場合、元のオブジェクトのファイルサイズが表示される場合がありますが、それらは本質的にドライブで0バイトのスペースを使用します。それらは実際にはドライブのMFTに格納された参照です(これは、2つの異なるパーティション間で作成できない理由でもあります[これは、言及する価値のある別の機能ですが、ショートカットとジャンクションの巧妙な組み合わせで簡単に克服できます、シンボリックリンク、およびハードリンクが同時に使用されます])
率直に言って、これはまさにあなたが探しているものであり、非常に便利な機能だと思います。うまくスクリプトができれば、ハードリンクディレクトリを望みどおりに構築するプログラムを書くのは難しくありません(他のシステムでは「バックアップ」または「ポータビリティソリューション」として扱います)。また、サードパーティのソフトウェアを見つけて、これらすべてのタスクを容易にし、ハードリンクを操作することによる本質的な扱いやすさを克服することもできます。
fc
コマンドラインから実行した場合でも、「違いはありません」と表示されます
最も簡単な回避策は、バッチファイルを使用することです。
Shortcut.lnk
がにある場合、次の1行のコードでC:\Files\
新しい.bat
ファイルを作成すると、.lnk
ファイルが起動します。
"C:\Files\Shortcut.lnk"
.lnk
ファイルへの「ショートカット」もファイルでなければならない理由はあり.lnk
ますか?これが重要な場合、またはその他の要件がある場合は、質問を編集してこれらの詳細を含めてください。そうすれば、より良い答えが得られます。:)
.bat
ファイルが十分であれば、Microsoftは.lnk
ファイルを作成しなかったでしょう...