C# 连接远程共享文件及文件复制
2013-01-17 13:48
399 查看
public static bool connectState(string path)
{
return connectState(path, "", "");
}
public static bool connectState(string path, string userName, string passWord)
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"net use " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (!proc.HasExited)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
proc.StandardError.Close();
if (string.IsNullOrEmpty(errormsg))
{
Flag = true;
}
else
{
throw new Exception(errormsg);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
proc.Close();
proc.Dispose();
}
return Flag;
}
public static void CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 判断目标目录是否存在如果不存在则新建之
if (!Directory.Exists(aimPath))
Directory.CreateDirectory(aimPath);
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
//如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
//string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath);
//遍历所有的文件和目录
foreach (string file in fileList)
{
//先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (Directory.Exists(file))
CopyDir(file, aimPath + Path.GetFileName(file));
//否则直接Copy文件
else
File.Copy(file, aimPath + Path.GetFileName(file), true);
}
}
catch (Exception ee)
{
throw new Exception(ee.ToString());
}
}
LinuxFile.FileSharp.CopyDir(theFolder.ToString(), "D:\\funddir\\send\\" + FileID[i] + "\\" + DateTime.Now.ToString("yyyyMMdd"));单个文件复制
{
return connectState(path, "", "");
}
public static bool connectState(string path, string userName, string passWord)
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"net use " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (!proc.HasExited)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
proc.StandardError.Close();
if (string.IsNullOrEmpty(errormsg))
{
Flag = true;
}
else
{
throw new Exception(errormsg);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
proc.Close();
proc.Dispose();
}
return Flag;
}
public static void CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 判断目标目录是否存在如果不存在则新建之
if (!Directory.Exists(aimPath))
Directory.CreateDirectory(aimPath);
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
//如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
//string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath);
//遍历所有的文件和目录
foreach (string file in fileList)
{
//先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (Directory.Exists(file))
CopyDir(file, aimPath + Path.GetFileName(file));
//否则直接Copy文件
else
File.Copy(file, aimPath + Path.GetFileName(file), true);
}
}
catch (Exception ee)
{
throw new Exception(ee.ToString());
}
}
LinuxFile.FileSharp.CopyDir(theFolder.ToString(), "D:\\funddir\\send\\" + FileID[i] + "\\" + DateTime.Now.ToString("yyyyMMdd"));单个文件复制
相关文章推荐
- c# 建立局域网远程共享连接,读取共享文件
- SSH连接下复制远程linux服务器文件到本地的命令
- C#连接远程服务器 映射服务器磁盘 并执行文件 (通过用户名 密码)
- SSH连接下复制远程linux服务器文件到本地的命令
- 将本地文件通过远程桌面连接直接复制或粘贴到远程主机的具体方法
- XP 远程桌面连接不能复制文件 - 设置本地资源
- java 将远程共享的文件复制到本地
- 连接到远程服务器后无法复制文件到本地机子的解决方案
- [转]C# 多个项目共享配置文件(共用一个SQL连接字符串)
- SSH连接下复制远程linux服务器文件到本地的命令
- SSH连接下复制远程linux服务器文件到本地的命令(zz)
- C# 远程连接局域网内服务器之后读取文件新建路径
- (问?)远程桌面连接怎么把本地文件复制到服务器上!?[]
- windows桌面远程连接突然不能双向复制文件
- Windows2008远程桌面连接后不能双向复制文件
- Windows 2003 R2 SP2 远程桌面无法共享剪贴板信息和无法复制文件的解决方法
- SSH连接下复制远程linux服务器文件到本地
- win7连接远程桌面问题,无法复制文件,无法读取源文件或磁盘
- 远程桌面连接时,复制本地文件到远程服务器,本地磁盘,没有盘符,显示未指定
- C# 远程访问并复制文件