Próbuję utworzyć węzeł NTFS. Z linii cmd mogę to zrobić za pomocą junction.exe tool from sysinternals. Wyjście cmd DIR na skrzyżowaniu wygląda następująco:W .NET, jak utworzyć łącze w NTFS, w przeciwieństwie do Symlink?
Volume in drive C has no label.
Volume Serial Number is C8BC-2EBD
Directory of c:\users\cheeso\Documents
03/22/2009 09:45 PM <JUNCTION> My Music [\??\c:\users\cheeso\Music]
05/11/2007 05:42 PM <DIR> My Received Files
03/22/2009 09:46 PM <JUNCTION> my videos [\??\c:\users\cheeso\Videos]
Czytałem gdzieś, że Skrzyżowania są podzbiorem dowiązania symboliczne.
Próbowałem więc użyć CreateSymbolicLink, aby utworzyć skrzyżowanie. Kiedy to zrobię, dostaję Symlink, a nie skrzyżowanie. Jest to także . Doktor mówi, że skrzyżowania (inaczej "Punkty reparacji") stanowią podzbiór twardych linków. ale nie mogę sprawić, by to wezwanie zadziałało. Kończy się, ale nie utworzono twardego łącza ani połączenia.
Używam .NET/C# i przywóz wyglądać następująco:
[Interop.DllImport("kernel32.dll", EntryPoint="CreateSymbolicLinkW", CharSet=Interop.CharSet.Unicode)]
public static extern int CreateSymbolicLink(string lpSymlinkFileName, string lpTargetFileName, int dwFlags);
[Interop.DllImport("kernel32.dll", EntryPoint="CreateHardLinkW", CharSet=Interop.CharSet.Unicode)]
public static extern bool CreateHardLink(string lpFileName,
string lpExistingFileName,
IntPtr mustBeNull);
Co robię źle?
Jak utworzyć skrzyżowanie z poziomu C#?
doskonały, dzięki! Spojrzałem i znalazłem kilka linków, ale nie ten, i nic, co było naprawdę użyteczne. – Cheeso
Czy możesz przekazać przykład użycia, ponieważ opublikowany link jest (w tej chwili) ważny, ale może się w przyszłości umrzeć, + trzeba zarejestrować się na tej stronie, aby pobrać źródła i zobaczyć kod jako dobrze? Byłaby to naprawdę pełna odpowiedź tutaj. Dzięki! :) –