web-dev-qa-db-ja.com

CMD.exeでシンボリック(ハードリンク)を作成する方法

ソフトウェアをインストールせずにこれを行う必要があります...

何か案は?

Windows XP上のMSDOS(cmd.exe)

6
qodeninja

MS-DOSまたはWindows XPについて話しているのですか。

Windowsのコマンドプロンプトからこれを行うことについて話している可能性が高いので、XP最初にそのケースに答えます...> smile <

WindowsのNTFSボリュームでは、XP "fsutil"ツールを使用してハードリンクを作成できます。

fsutil hardlink create <destination filename> <source filename>

ソースと宛先の両方が同じNTFSボリューム上にある必要があります。


MS-DOSはFATファイルシステムのみをサポートしています(さまざまなフレーバーで)。 FATはハードリンクを「公式に」サポートしていません。同じFATチェーンを参照する2つのディレクトリエントリを持つことにより、ハードリンクの効果を作成できます。ただし、これはCHKDSKによって「エラー」として検出され、修復されます。

DEBUGを使用して手動でディレクトリ構造を操作することを気にしない場合は、ソフトウェアをインストールせずにこれを実行できます。それはきれいではありませんが、うまくいくでしょう。

ただし、既に述べたように、2つのディレクトリエントリが同じFATチェーンを指すようにすることは技術的には違法です。このようなボリュームでディスクデフラグツールを実行すると、ファイルシステムが損傷する可能性があります。 CHKDSKは間違いなく、このような「陪審によるハードリンク」をファイルシステムエラーとして認識します。

9
Evan Anderson

fsutil hardlinkはファイルに対してのみ機能します。ディレクトリへのリンクを作成する場合は、sysinternalsパッケージの junction を使用できます。

注意:リンクを削除しようとすると、宛先ディレクトリの内容も削除されます。リンクを削除するには、juncion -dスイッチを使用する必要があります。

Total Commanderでリンクを認識できます。リンクはディレクトリとは異なります。 Windowsエクスプローラーでは、これらのリンクは他のディレクトリと同じように見えます。

3
sumar

linkd.exeは、Windows 2003リソースキットに含まれています。これをテストしたところ、NTFSジャンクションよりもうまく機能しました。 linkd.exeをダウンロードして、XPで動作させることができれば、準備は完了です。

2
Drew M

まず、cmd.exeが[〜#〜]ではない[〜#〜]MS-DOSであり、最近のすべてのバージョンのWindowsにおけるDOSの痕跡。 DOSはWindows 95/98/MEに続いて亡くなり、XPであり、その後継機はNT上に構築されており、DOSは一切含まれていません。cmd.exeは、表面的にはコマンドとして表示されるネイティブのWindowsアプリケーションです。 -lineおよび古いDOSコマンドと同様のコマンドを受け入れることができますが、[〜#〜]ではありません[〜#〜]DOS。

次に、Windowsでハードリンクを作成する前に、これを読んで理解しておく必要があります。 http://blogs.msdn.com/oldnewthing/archive/2009/09/ 28/9900082.aspx

最後に、ダーティな作業自体を行うには、上記のEvanで説明されているように、またはここで説明されているようにfsutilを使用します。 http://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs /en-us/fsutil.mspx?mfr=true

1
Maximus Minimus