-3

ここで、近くのローカルIPアドレスからローカルシステムにファイルをコピーする必要があります。Xcopyコマンドを使用してコピーしてからプロセスを起動するために次のコードを使用しましたが、コマンドプロンプトで実行した場合、言及されたコードのArgumentsettingを介してコピーしていますが、コードを介してコピーしていません。何が問題なのか教えてください。何か案は?コピーしていないコードを介して何を。

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;
        }
4

1 に答える 1

0

送信元アドレスと宛先アドレスが正しく指定されているかどうかを確認します

  Process process = new Process();
  process.StartInfo.Arguments= @"D:\sourcePath F:\DestinationPath /e /y /I";
  process.Start();
于 2012-12-09T19:31:45.917 に答える