使用net use 命令實現遠程機器的文件復制。
          比如,從機器A操作實現把機器B的文件拷貝到機器A上,需要把機器B文件夾加上機器A的用戶權限。

          public static bool Ping(string remoteHost)
            {
             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 = @"ping -n 1 " + remoteHost;
              proc.StandardInput.WriteLine(dosLine);
              proc.StandardInput.WriteLine("exit");
              while (proc.HasExited == false)
              {
               proc.WaitForExit(500);
              }
              string pingResult = proc.StandardOutput.ReadToEnd();
              if (pingResult.IndexOf("(0% loss)") != -1)
              {
               Flag = true;
              }
              proc.StandardOutput.Close() ;
             }
             catch (Exception ex)
             {
             }
             finally
             {
              try
              {
               proc.Close();
               proc.Dispose();
              }
              catch
              {
              }
             }
             return Flag;
            }

            public static bool Connect(string remoteHost, string userName, string passWord)
            {
             if(!Ping(remoteHost))
             {
              return false;
             }
             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 = true;
              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;
            }
          這兩個方法是對機器B建立連接,連接成功后,用File.Copy就可以了
          if (Ping("機器B"))
             {
              if (Connect("機器B","機器A用戶","機器A用戶訪問密碼"))
              {
               File.Copy("\\機器B\文件路徑\文件名稱","機器A存放文件完整路徑",true);
              }
             }

          posted on 2010-07-27 22:29 sanmao 閱讀(867) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 寻乌县| 阜南县| 海盐县| 贵南县| 枣强县| 通海县| 邻水| 启东市| 福海县| 眉山市| 库伦旗| 枣阳市| 邯郸县| 洞头县| 阳谷县| 云林县| 怀安县| 那曲县| 疏附县| 阿荣旗| 清徐县| 菏泽市| 保山市| 镇巴县| 芒康县| 纳雍县| 临武县| 汨罗市| 岳阳市| 安远县| 阳城县| 西藏| 丰台区| 白水县| 龙川县| 集贤县| 留坝县| 鄂托克旗| 双江| 密山市| 张家界市|