Xcopy зависает/зависает ⇐ C#
-
Anonymous
Xcopy зависает/зависает
У меня есть консольная программа, написанная на C# (.NET 8.0), и в моем примере необходимо скопировать 303 изображения .tif в папку назначения (через ProcessStartInfo)
Я зарегистрировал некоторую информацию и увидел, что она по-прежнему не регистрирует стандартные ошибки и/или стандартный вывод и зависает в 74-м файле (я также проверил 75-й файл, если у него есть проблемы, но, похоже, это не так). нормальное изображение). Когда я закрываю консоль, программа останавливается и все файлы затем корректно копируются и пишется стандартная ошибка/вывод (errors="", output=303 файлы скопированы правильно). Я что-то упустил?
Код:
private static void MoveDirectory(string sourceDir, string destDir) { строка formattedSourceDir = sourceDir.TrimEnd('\\'); строка formattedDestDir = Path.Combine(destDir, Path.GetFileName(formattedSourceDir)); Процесс ProcessStartInfo = новый ProcessStartInfo (); процесс.UseShellExecute = ложь; процесс.RedirectStandardOutput = true; процесс.RedirectStandardError = правда; процесс.CreateNoWindow = правда; процесс.ИмяФайла = "xcopy"; процесс.Аргументы = string.Format("\"{0}\" \"{1}\" /s /e /i", formattedSourceDir, formattedDestDir); LogToFile("xcopy " + процесс.Аргументы); пытаться { Процесс cmdProcess = Process.Start(процесс); строка StandardError = cmdProcess.StandardError.ReadToEnd(); строка StandardOutput = cmdProcess.StandardOutput.ReadToEnd(); LogToFile (стандартный вывод); LogToFile (стандартная ошибка); } улов (опыт исключения) { LogToFile("Ошибка: " + exp.Message); } }
У меня есть консольная программа, написанная на C# (.NET 8.0), и в моем примере необходимо скопировать 303 изображения .tif в папку назначения (через ProcessStartInfo)
Я зарегистрировал некоторую информацию и увидел, что она по-прежнему не регистрирует стандартные ошибки и/или стандартный вывод и зависает в 74-м файле (я также проверил 75-й файл, если у него есть проблемы, но, похоже, это не так). нормальное изображение). Когда я закрываю консоль, программа останавливается и все файлы затем корректно копируются и пишется стандартная ошибка/вывод (errors="", output=303 файлы скопированы правильно). Я что-то упустил?
Код:
private static void MoveDirectory(string sourceDir, string destDir) { строка formattedSourceDir = sourceDir.TrimEnd('\\'); строка formattedDestDir = Path.Combine(destDir, Path.GetFileName(formattedSourceDir)); Процесс ProcessStartInfo = новый ProcessStartInfo (); процесс.UseShellExecute = ложь; процесс.RedirectStandardOutput = true; процесс.RedirectStandardError = правда; процесс.CreateNoWindow = правда; процесс.ИмяФайла = "xcopy"; процесс.Аргументы = string.Format("\"{0}\" \"{1}\" /s /e /i", formattedSourceDir, formattedDestDir); LogToFile("xcopy " + процесс.Аргументы); пытаться { Процесс cmdProcess = Process.Start(процесс); строка StandardError = cmdProcess.StandardError.ReadToEnd(); строка StandardOutput = cmdProcess.StandardOutput.ReadToEnd(); LogToFile (стандартный вывод); LogToFile (стандартная ошибка); } улов (опыт исключения) { LogToFile("Ошибка: " + exp.Message); } }
Мобильная версия