diff --git a/App/Common/FilePath.cs b/App/Common/FilePath.cs index b5db15cb2167721cbb0d5beedc2e98ba66057f43..01b350a6017c391d9d6d62b999c93975b9ece408 100644 --- a/App/Common/FilePath.cs +++ b/App/Common/FilePath.cs @@ -252,7 +252,7 @@ namespace PDFPatcher.Common var ps = p2[0]; bool p2r; if ((p2r = IsDirectorySeparator(ps)) && rootAsRelative == false // note 不能调转 && 参数的顺序,p2r 在后面有用 - || p2.Length > 1 && p2[1] == Path.VolumeSeparatorChar) { + || p2.Length > 1 && (p2[1] == Path.VolumeSeparatorChar || p2[1] == ps)) { return path; } @@ -505,6 +505,9 @@ namespace PDFPatcher.Common r = true; ++v; } + else if (i == 1 && r) { + ++v; + } continue; } if (s.Length == 1 && s[0] == '.') { diff --git a/App/Processor/Worker.cs b/App/Processor/Worker.cs index 4f921bc2dc87a2f34f785c3ade9cb406f923775d..580ecca40060a488b09a9891107dd4cd50fd64d5 100644 --- a/App/Processor/Worker.cs +++ b/App/Processor/Worker.cs @@ -48,15 +48,15 @@ namespace PDFPatcher.Processor } var targetPath = options.OutputPath; - if (Directory.Exists(targetPath) == false) { - Directory.CreateDirectory(targetPath); - } var ranges = PageRangeCollection.Parse(options.PageRange, 1, pdf.NumberOfPages, true); var loadCount = loadDocProgressWeight + ranges.TotalPages; Tracker.SetProgressGoal(loadCount); var op = targetPath; var om = options.FileMask; try { + if (Directory.Exists(targetPath) == false) { + Directory.CreateDirectory(targetPath); + } Tracker.TraceMessage("正在导出图片。"); Tracker.TrackProgress(loadDocProgressWeight); if (FileHelper.HasFileNameMacro(op)) {