C#でハードリンクを作成するにはどうすればよいですか?コードスニペットをお願いします。
14997 次
5 に答える
41
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode )]
static extern bool CreateHardLink(
string lpFileName,
string lpExistingFileName,
IntPtr lpSecurityAttributes
);
使用法:
CreateHardLink(newLinkPath,sourcePath, IntPtr.Zero);
于 2010-08-02T12:32:10.547 に答える
38
BCL はこれを提供しないため、p/invoke に頼る必要があります。
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode )]
static extern bool CreateHardLink(
string lpFileName,
string lpExistingFileName,
IntPtr lpSecurityAttributes
);
そしてそれを例えばのように使う
CreateHardLink(@"c:\temp\New Link", @"c:\temp\Original File",IntPtr.Zero);
于 2010-08-02T12:29:04.220 に答える
11
NTFS ハードリンクの場合:
以下は ( dotnetspark に関するテキストの紹介) です。
残念ながら、.NET Framework ではハード リンクもソフト リンクもサポートされていません。したがって、Windows API を掘り下げて、アプリケーションがこの機能を使用できるようにする必要があります。Kernel32.dll ライブラリにある Win32 関数 CreateHardLink() への単純な呼び出しを使用して、1 行のコードを使用してハード リンクを作成できます。この関数の定義は次のとおりです。
BOOL CreateHardLink(
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
于 2010-08-02T12:28:34.673 に答える
-3
Process.Start("mklink /H", String.Format("{0} {1}", link, target));
于 2010-08-02T12:35:53.177 に答える