使用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)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 松原市| 迁西县| 平山县| 濉溪县| 应用必备| 望都县| 黄石市| 离岛区| 肥城市| 渝中区| 城市| 石楼县| 周宁县| 云霄县| 北流市| 平南县| 延津县| 鄱阳县| 响水县| 邮箱| 江孜县| 平塘县| 方正县| 怀来县| 花垣县| 安达市| 巨鹿县| 沐川县| 赤壁市| 孟连| 芦溪县| 千阳县| 定兴县| 沂南县| 沾益县| 改则县| 白河县| 喀喇沁旗| 长春市| 东宁县| 彰武县|