![]()
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XianCheng
{
public class ConnecteFile
{
Process p = CreateP();
/// <summary>
///链接远程文件
/// </summary>
/// <param name="path">远程文件夹</param>
/// <param name="user"></param>
/// <param name="pwd"></param>
public void GetAccessControl(string path, string user, string pwd)
{
p.Start();
p.StandardInput.WriteLine(@"Net Use {0} /del", path); //必须先删除,否则报错
p.StandardInput.WriteLine(@"Net Use {0} ""{1}"" /user:{2}", path, pwd, user);
p.StandardInput.WriteLine("exit"); //如果不加这句WaitForExit会卡住
p.WaitForExit();
p.Close();
}
/// <summary>
/////关闭远程文件
/// </summary>
/// <param name="path"></param>
public void CloseAccessControl(string path)
{
p.Start();
p.StandardInput.WriteLine(@"Net Use {0} /del", path); //必须先删除,否则报错
p.StandardInput.WriteLine("exit"); //如果不加这句WaitForExit会卡住
p.WaitForExit();
p.Close();
}
//向远程文件夹保存本地内容,或者从远程文件夹下载文件到本地
/// <summary>
/// 创建文件夹
/// </summary>
/// <param name="fullPath">完整的文件夹名字(10.85.17.102+DirectoryName)</param>
public static void Transport(string fullPath)
{
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
}
public static Process CreateP()
{
Process pcs = new Process();
pcs.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
pcs.StartInfo.UseShellExecute = false;
pcs.StartInfo.RedirectStandardInput = true;
pcs.StartInfo.RedirectStandardOutput = true;
pcs.StartInfo.CreateNoWindow = true;
return pcs;
}
}
}
ConnecteFile类