запуск пакетного файла, получение ошибок и вывод процесса в текстовый файл - PullRequest
0 голосов
/ 16 февраля 2011

Привет для следующего кода, почему я получаю этот вывод в текстовом файле ошибки?

"'ha57061' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл."

мое имя пользователя cha57061.почему я скучаю по "с" и "'"?пожалуйста, поправьте меня, если мой код неверен.

System.Diagnostics.Process runantc = new System.Diagnostics.Process();

            runantc.StartInfo.FileName = "C:/Documents and Settings/Cha57061/Desktop/New Folder/WPF/WpfApplication1/WpfApplication1/cmd.exe";
            runantc.StartInfo.Arguments = "antc.bat";
            runantc.StartInfo.UseShellExecute = false;
            runantc.StartInfo.RedirectStandardOutput = true;
            runantc.StartInfo.RedirectStandardError = true;
            runantc.Start();

            string procOutput = runantc.StandardOutput.ReadToEnd();
            string procError = runantc.StandardError.ReadToEnd();



            TextWriter outputlog = new StreamWriter("C:/Documents and Settings/Cha57061/Desktop/New Folder/WPF/WpfApplication1/WpfApplication1/processoutput.txt");
            outputlog.Write(procOutput);
            outputlog.Close();


            TextWriter outputerror = new StreamWriter("C:/Documents and Settings/Cha57061/Desktop/New Folder/WPF/WpfApplication1/WpfApplication1/error.txt");
            outputerror.Write(procError);
            outputerror.Close();

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Не уверен, решит ли это вашу проблему, но я впервые вижу пути к файлам в C # .NET с использованием косой черты (/), но не уверен, что они автоматически конвертируются в (\).Вы можете попробовать переписать ваши пути, как указано ниже

"C:\\Directory\\File" //the double slash is necessary since (\) indicates an escape character is to come)
@"C:\Directory\" // the @ modifier changes the default behavior and escape characters are not considered the same way

\ c - это escape-символ, как описано здесь: http://msdn.microsoft.com/en-us/library/4edbef7e%28v=vs.71%29.aspx

0 голосов
/ 16 февраля 2011

Это неправильный способ запуска командного файла.
Вы должны установить FileName прямо на путь к файлу .bat.

Чтобы ответить на ваш вопрос, в вашем пакетном файле есть проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...