Sprache: C#
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);
}
[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);
}
Alte URL:
/snippet/hardlink-erstellen/355
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