This commit is contained in:
Timerix22 2021-11-07 13:04:22 +03:00
parent ea54bed80d
commit 63a3c4eef6
4 changed files with 37 additions and 3 deletions

View File

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
namespace DTLib.Filesystem
{
@ -134,5 +135,11 @@ namespace DTLib.Filesystem
System.Security.AccessControl.AccessControlType.Allow));
dirInfo.SetAccessControl(dirSecurity);
}
public static void CreateSymlink(string symlinkName, string sourceName)
{
if (!Symlink.CreateSymbolicLink(symlinkName, sourceName, Symlink.SymlinkTarget.Directory))
throw new InvalidOperationException($"some error occured while creating symlink\nCreateSymlink({symlinkName}, {sourceName})");
}
}
}

View File

@ -74,5 +74,11 @@ namespace DTLib.Filesystem
File.Create(file);
return System.IO.File.Open(file, System.IO.FileMode.Append);
}
public static void CreateSymlink(string symlinkName, string sourceName)
{
if (!Symlink.CreateSymbolicLink(symlinkName, sourceName, Symlink.SymlinkTarget.File))
throw new InvalidOperationException($"some error occured while creating symlink\nCreateSymlink({symlinkName}, {sourceName})");
}
}
}

View File

@ -8,13 +8,13 @@ namespace DTLib.Filesystem
public static class OldFilework
{
// записывает текст в файл и закрывает файл
public static void LogToFile(string logfile, string msg)
/*public static void LogToFile(string logfile, string msg)
{
lock (new object())
{
File.AppendAllText(logfile, msg);
}
}
}*/
// чтение параметров из конфига
public static string ReadFromConfig(string configfile, string key)

21
Filesystem/Symlink.cs Normal file
View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace DTLib.Filesystem
{
internal class Symlink
{
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
static internal extern bool CreateSymbolicLink(string symlinkName, string sourceName, SymlinkTarget type);
internal enum SymlinkTarget
{
File,
Directory
}
}
}