2012-12-09 72 views
-4

在這裏我應該從附近的本地IP地址複製文件到我的本地系統我已經使用Xcopy命令複製使用下面的代碼,然後啓動該過程,但通過在代碼中提到的複製通過參數設置,如果我在命令提示符執行它複製但通過代碼不能複製請告訴問題是什麼。有任何想法嗎?什麼通過代碼不復制。C#中的Xcopy - 如何調用它?

string Porocess = String.Format("\"{0}\\xcopy.exe\"", Environment.SystemDirectory.ToString()); 

string SolutionSettings = string.Format("\"\\\\{0}\\C$\\Documents and Settings\\All Users\\Application Data\\Symantec\\Common Client\\settings.bak\"", IPaddress); 

string TargetSettings = string.Format("\"C:\\Documents and Settings\\All Users\\Application Data\\Symantec\\settings.bak\""); 

string Argumentsetting = /*"\"" +*/ SolutionSettings + " " + TargetSettings + " /Y";// parameters to launch process 

int iret1 = LauncProcess(Porocess, Argumentsetting, Environment.SystemDirectory.ToString()); 



public static int LauncProcess(string sProcess, string sParams, string sWorkingDir) 
     { 
      int iRet = 0; 
      Process process = null; 

      try 
      { 

       ProcessStartInfo startInfo = new ProcessStartInfo(); 
       startInfo.FileName = sProcess; 
       startInfo.Arguments = sParams; 
       startInfo.WorkingDirectory = sWorkingDir; 
       startInfo.WindowStyle = ProcessWindowStyle.Hidden; 
       startInfo.CreateNoWindow = true; 

       startInfo.UseShellExecute = false; 


       process = Process.Start(startInfo); 

       process.WaitForExit(); 

       Console.WriteLine("Copy has finished."); 

       if (process.HasExited) 
       { 
        Console.WriteLine("Process has exited."); 
        if (process.ExitCode != 0) 
        { 

         iRet = 1; 

        } 
        else 
        { 
         iRet = 0; 
        } 
       } 
       else 
       { 

        iRet = 1; 

       } 
      } 
      catch (Exception ex) 
      { 

       iRet = 1; 
      } 
      finally 
      { 
       process.Dispose(); 
      } 
      return iRet; 
     } 
+0

我想你只需要File.Copy和File.Delete(*源*) – SkyDrive

+0

串SolutionsrcSettings =的String.Format(「\ 「\\\\ {0} \\ C $ \\ Documents and Settings \\ All Users \\ Application Data \\ Symantec \\ CommonClient \\ settings.dat \」「,IPaddress); string TargetDirectory = string.Format(「C:\\ Documents and Settings \\ All Users \\ Application Data \\ Symantec \\ Common Client \\ settings.bak」); 嘗試 { File.Copy(SolutionDirectory,TargetDirectory,true); } 這裏文件複製當我上面提到的命令根本不起作用它顯示非法字符它的正確格式 – user1462928

回答

-1

檢查是否源地址和目的地址是否正確給出

Process process = new Process(); 
    process.StartInfo.Arguments= @"D:\sourcePath F:\DestinationPath /e /y /I"; 
    process.Start();