private static void DuplicateTrx(TrxDuplicateArgument argument) { var testResultsDirectory = Path.Combine(argument.Workspace, argument.TestResultsFolder); var targetFilePath = Path.Combine(testResultsDirectory, argument.OutputFileName); if (Directory.Exists(testResultsDirectory) == false) { throw new DirectoryNotFoundException(string.Format("資料夾錯誤:資料夾【{0}】不存在!", testResultsDirectory)); } else { var sourceTrxFile = Directory.GetFiles(testResultsDirectory, "*.trx", SearchOption.TopDirectoryOnly).OrderByDescending(f => File.GetLastWriteTime(f)).FirstOrDefault(); if (File.Exists(sourceTrxFile)) { File.Copy(sourceTrxFile, targetFilePath, true); Console.WriteLine(string.Format("複製檔案:【{0}】→【{1}】。", sourceTrxFile, targetFilePath)); } else { throw new FileNotFoundException(string.Format("檔案錯誤:檔案【{0}】不存在!", sourceTrxFile)); } } }
private static TrxDuplicateArgument GenerateTrxDuplicateArgument(string[] args) { var argument = new TrxDuplicateArgument(); foreach (var arg in args.Select(a => a.Split('='))) { switch (arg[0].ToLower()) { // Workspace Path case "-workspace": argument.Workspace = arg[1]; break; // TestResultsFolder case "-testresultsfolder": argument.TestResultsFolder = arg[1]; break; // Output FileName case "-outputfilename": argument.OutputFileName = arg[1]; break; } } return(argument); }