Подтвердить что ты не робот

Как создать hardlink в С#?

Как создать жесткую ссылку в С#? Любой фрагмент кода, пожалуйста?

4b9b3361

Ответ 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
);

Ответ 5

Process.Start("mklink /H", String.Format("{0} {1}", link, target));