Feedback

C# - HardLink erstellen

Veröffentlicht von am 04.12.2006
(5 Bewertungen)
Wer kennt nicht die Funktion 'ln -s' aus dem Linux Umfeld, mit diesem Snippet könt ihr das gleiche unter Windows machen

ok ok nicht ganz denn unter linux ist es ein Softlink das heisst, wenn die Quelldatei gelöscht oder verschoben wird, ist dieser Link unter linux nicht mehr funktionstüchtig ein Hardlink dagegen bleibt auch benutzbar wenn die source datei gelöscht wird

und was ist jetzt der Hauptgrund einen Link zu erstellen 'Beide Dateien sind immer identisch egal welche Datei geändert wird'

Vorraussetztung NTFS

muß natürlich noch mit rein
using System.Runtime.InteropServices;
[DllImport("kernel32.dll", EntryPoint="CreateHardLinkA", CharSet=CharSet.Ansi, SetLastError=true, ExactSpelling=true)]
        private static extern long CreateHardLink(string lpFileName, string lpExistingFileName, IntPtr lpSecurityAttributes);
       
        public void CreateHardLink(String sourcePath, string destPath) {
            CreateHardLink(destPath, sourcePath, IntPtr.Zero);
        }
Abgelegt unter Hardlink, symbolischer Link, Unix.

1 Kommentare zum Snippet

Michele schrieb am 21.07.2008:

Hallo

ist ein gutes und nützliches Snippet. Hatte mir grad Gedanken gemacht wie ich mir eins in C# schreiben kann. Bin von berufswegen als IT'ler auch Linux User und weiß das kleine Prog zu schätzen. Unter MS OS geht das meines Wissens mit MS Tools erst seit Vista mit fsutil.exe, bzw. ich hatte mal vor einem Jahr ein nettes Tool dessen Name mir grad nicht einfällt..

Danke

 

Logge dich ein, um hier zu kommentieren!