c#如 局域网文件如何拷贝,有没有大侠相助???我的源码
不知为什么,本地的可以拷贝,但在局域网里就报错?
private int MoveDir(string strSource,string strDest)
{
int intRet = 0;
DirectoryInfo diSourceDir = new DirectoryInfo(strSource);
DirectoryInfo diDestDir = new DirectoryInfo(strDest);
diDestDir.CreateSubdirectory(diSourceDir.Name);
DirectoryInfo[] diArray = diSourceDir.GetDirectories();
FileInfo[] fiArray = diSourceDir.GetFiles();
string strDestDir = string.Empty;
foreach(DirectoryInfo dir in diArray)
{
strDestDir = strDest.TrimEnd(new char[] {'\\'}) + "\\" + diSourceDir.Name;
MoveDir(dir.FullName,strDestDir);
}
foreach(FileInfo file in fiArray)
{
file.CopyTo(strDest + "\\" + diSourceDir.Name + "\\" + file.Name);
}
return intRet;
}
///////////////////////////////////////////////
private void Button1_Click(object sender, System.EventArgs e)
{
string tempstr;
try
{
tempstr="c:\myFolder\myFile.txt";
MoveDir(@"\\192.168.0.68\五联安装\temp","e:") ;
}
catch (Exception ee)
{
MsgLabel.Text = "操作失败!失败原因:" + ee.ToString();
}
}
不知为什么,本地的可以拷贝,但在局域网里就报错?
private int MoveDir(string strSource,string strDest)
{
int intRet = 0;
DirectoryInfo diSourceDir = new DirectoryInfo(strSource);
DirectoryInfo diDestDir = new DirectoryInfo(strDest);
diDestDir.CreateSubdirectory(diSourceDir.Name);
DirectoryInfo[] diArray = diSourceDir.GetDirectories();
FileInfo[] fiArray = diSourceDir.GetFiles();
string strDestDir = string.Empty;
foreach(DirectoryInfo dir in diArray)
{
strDestDir = strDest.TrimEnd(new char[] {'\\'}) + "\\" + diSourceDir.Name;
MoveDir(dir.FullName,strDestDir);
}
foreach(FileInfo file in fiArray)
{
file.CopyTo(strDest + "\\" + diSourceDir.Name + "\\" + file.Name);
}
return intRet;
}
///////////////////////////////////////////////
private void Button1_Click(object sender, System.EventArgs e)
{
string tempstr;
try
{
tempstr="c:\myFolder\myFile.txt";
MoveDir(@"\\192.168.0.68\五联安装\temp","e:") ;
}
catch (Exception ee)
{
MsgLabel.Text = "操作失败!失败原因:" + ee.ToString();
}
}
http://blog.csdn.net/knight94/archive/2006/03/21/631309.aspx
http://blog.csdn.net/knight94/archive/2006/03/31/645367.aspxQA-如何访问局域网机器上的文件呢?
可以用net use
public bool Connect(string remoteHost, string userName, string passWord)
{
bool Flag = true;
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 = false;
proc.Start();
string dosLine = @"net use \\" + remoteHost + " " + passWord + " " + " /user:" + userName + ">NUL";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
if (errormsg != "")
{
Flag = false;
}
proc.StandardError.Close();
}
catch (Exception ex)
{
Flag = false;
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}if (Connect("10.XX.XX.XX", "用户名", "密码"))
{
File.Copy(@"\\10.XX.XX.XX\共享目录\111.txt", @"e:\\111.txt", true);
}
Process proc = new Process();指什么?