Как создать жесткую ссылку в С#? Любой фрагмент кода, пожалуйста?
Как создать hardlink в С#?
Ответ 1
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode )]
static extern bool CreateHardLink(
string lpFileName,
string lpExistingFileName,
IntPtr lpSecurityAttributes
);
Использование:
CreateHardLink(newLinkPath,sourcePath, IntPtr.Zero);
Ответ 2
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);
Ответ 3
Если вы имеете в виду жесткие ссылки NTFS:
Ниже приведено (введение текста в dotnetspark):
К сожалению, ни жесткие ссылки, ни программные ссылки не поддерживаются .NET Framework. Поэтому вам нужно будет вникнуть в Windows API, чтобы ваше приложение могло использовать эту функцию. Вы можете создать жесткую ссылку, используя одну строку кода, используя простой вызов функции Win32, CreateHardLink(), которая находится в библиотеке Kernel32.dll. Определение этой функции выглядит следующим образом:
BOOL CreateHardLink(
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
Ответ 4
Взгляните на этот проект: класс Hardlink
Ответ 5
Process.Start("mklink /H", String.Format("{0} {1}", link, target));