使用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 閱讀(865) 評論(0)  編輯  收藏

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


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麦盖提县| 贵德县| 朝阳县| 米泉市| 永嘉县| 湖南省| 绥棱县| 尉犁县| 崇州市| 开封县| 同心县| 昌宁县| 德惠市| 凤庆县| 太和县| 丰原市| 宜川县| 鹿邑县| 平凉市| 怀远县| 耒阳市| 米林县| 临夏市| 大石桥市| 浙江省| 韩城市| 临高县| 开封市| 沛县| 南通市| 大化| 莱西市| 朝阳县| 哈密市| 临夏县| 五常市| 江陵县| 财经| 上蔡县| 岳池县| 湖州市|