/// <summary>
/// 共享文件夹连接器
/// </summary>
public class ShareFoldConector
{
/// <summary>
/// 连接共享文件夹
/// </summary>
/// <param name="path">共享路径</param>
/// <param name="user">用户名</param>
/// <param name="pwd">密码</param>
/// <returns></returns>
public static void ConnectShareFold(string path, string user, string pwd)
{
string cLinkUrl = $@"Net Use {path} {pwd} /user:{user} / persistent:yes";
ExeCmd(cLinkUrl);
}
/// <summary>
/// 关闭所有共享连接
/// </summary>
public static void CloseAllConnections()
{
string cKillCmd = @"Net Use /delete * /yes";
ExeCmd(cKillCmd);
}
/// <summary>
/// 关闭指定连接
/// </summary>
/// <param name="path">共享路径</param>
public static void CloseConnection(string path)
{
string cKillCmd = $@"Net Use {path} /delete /yes";
ExeCmd(cKillCmd);
}
/// <summary>
/// 调用Cmd命令
/// </summary>
/// <param name="strCmd">命令行参数</param>
private static void ExeCmd(string strCmd)
{
//调用cmd命令
Process myProcess = new Process();
try
{
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.Arguments = $"/c {strCmd}";
myProcess.StartInfo.UseShellExecute = false; //关闭Shell的使用
myProcess.StartInfo.RedirectStandardInput = true; //重定向标准输入
myProcess.StartInfo.RedirectStandardOutput = true; //重定向标准输出
myProcess.StartInfo.RedirectStandardError = true; //重定向错误输出
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
}
catch { }
finally
{
myProcess.WaitForExit();
if (myProcess != null)
{
myProcess.Close();
}
}
}
}