// CUIモード static int CUIExec(bool q, List <string> files) { IOutputController Output = new CUIOutput(q); if (files.Count == 0) { Console.WriteLine(Properties.Resources.NOINPUTFILE); return(-5); } try { Directory.CreateDirectory(Path.GetTempPath()); } catch (Exception) { Console.WriteLine(String.Format(Properties.Resources.FAIL_TMPFOLDER, Path.GetTempPath())); return(-7); } int failnum = 0; var outFiles = new System.Collections.Specialized.StringCollection(); for (int i = 0; i < files.Count / 2; ++i) { string file = Path.GetFullPath(files[2 * i]); string dir; if (Properties.Settings.Default.workingDirectory == "file") { dir = Path.GetDirectoryName(file); } else if (Properties.Settings.Default.workingDirectory == "current") { dir = Directory.GetCurrentDirectory(); } else { dir = Path.GetTempPath(); } string tmpTeXFileName = TempFilesDeleter.GetTempFileName(Path.GetExtension(file), dir); if (tmpTeXFileName == null) { Console.WriteLine(String.Format(Properties.Resources.FAIL_TMPFILE, Path.GetTempPath())); return(-6); } tmpTeXFileName = Path.Combine(dir, tmpTeXFileName); // 一時フォルダにコピー File.Copy(file, tmpTeXFileName, true); (new FileInfo(tmpTeXFileName)).Attributes = FileAttributes.Normal; var output = Path.GetFullPath(files[2 * i + 1]); // 変換! try { using (var converter = new Converter(Output, tmpTeXFileName, output)) { converter.AddInputPath(Path.GetDirectoryName(file)); if (!converter.Convert()) { ++failnum; } else { outFiles.AddRange(converter.OutputFileNames.ToArray()); } } if (Properties.Settings.Default.setFileToClipBoard) { Clipboard.SetFileDropList(outFiles); } } catch (Exception e) { Console.WriteLine(e.Message); } } return(failnum); }
// CUIモード static int CUIExec(bool q, List<string> files) { IOutputController Output = new CUIOutput(q); if (files.Count == 0) { Console.WriteLine(Properties.Resources.NOINPUTFILE); return -5; } try { Directory.CreateDirectory(Path.GetTempPath()); } catch (Exception) { Console.WriteLine(String.Format(Properties.Resources.FAIL_TMPFOLDER, Path.GetTempPath())); return -7; } int failnum = 0; var outFiles = new System.Collections.Specialized.StringCollection(); for (int i = 0; i < files.Count / 2; ++i) { string file = Path.GetFullPath(files[2 * i]); string dir; if (Properties.Settings.Default.workingDirectory == "file") dir = Path.GetDirectoryName(file); else if (Properties.Settings.Default.workingDirectory == "current") dir = Directory.GetCurrentDirectory(); else dir = Path.GetTempPath(); string tmpTeXFileName = TempFilesDeleter.GetTempFileName(Path.GetExtension(file), dir); if (tmpTeXFileName == null) { Console.WriteLine(String.Format(Properties.Resources.FAIL_TMPFILE, Path.GetTempPath())); return -6; } tmpTeXFileName = Path.Combine(dir, tmpTeXFileName); // 一時フォルダにコピー File.Copy(file, tmpTeXFileName, true); (new FileInfo(tmpTeXFileName)).Attributes = FileAttributes.Normal; var output = Path.GetFullPath(files[2 * i + 1]); // 変換! try { using (var converter = new Converter(Output, tmpTeXFileName, output)) { converter.AddInputPath(Path.GetDirectoryName(file)); if (!converter.Convert()) ++failnum; else outFiles.AddRange(converter.OutputFileNames.ToArray()); } if (Properties.Settings.Default.setFileToClipBoard) Clipboard.SetFileDropList(outFiles); } catch (Exception e) { Console.WriteLine(e.Message); } } return failnum; }