在开发过程中我们经常会遇见需要修改为共享文件夹的文件,一般是手动修改,以下是自动创建共享文件夹的方式
using System;
using System.IO;
using Microsoft.Win32;
class Program
{
static void Main()
{
string folderPath = @"C:\path\to\your\folder"; // 替换为您要共享的文件夹路径
string shareName = "MySharedFolder"; // 共享名称
// 确保文件夹存在
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
// 获取管理共享的Registry子键路径
string subkey = $"System\\CurrentControlSet\\Services\\LanManServer\\Parameters\\SharedAccess\\{shareName}";
// 添加共享权限
using (RegistryKey key = Registry.LocalMachine.CreateSubKey(subkey))
{
if (key != null)
{
key.SetValue("Path", folderPath, RegistryValueKind.String);
key.SetValue("Read", "1", RegistryValueKind.String); // 设置为"1"允许读取权限
// 可以设置更多权限,例如:"Change"为写入权限
}
}
// 使用net share命令共享文件夹
System.Diagnostics.Process.Start("net", $"share {shareName}={folderPath} /grant:Everyone,READ").WaitForExit();
Console.WriteLine("文件夹共享成功。");
}
}