Agarwal1984 Ответов: 1

Формат данного пути не поддерживается ошибка при перемещении файла в C#?


Привет,

The given path's format is not supported error during moving the file in c#


ошибка в этой строке:-

System.IO.File.Move(@"C:\PrintingDocument\" + file, @"C:\PrintedDocument\" + file);


Здесь тоже есть одна проблема,
мой процесс не работает в службе Windows.

Я хочу переместить файл из одной папки в другую, но он получает ошибку.

Пожалуйста, помогите мне.
Как мы можем решить.

заранее спасибо.

Анкит Агарвал
инженер-программист

Что я уже пробовал:

string[] files = Directory.GetFiles(@"C:\PrintingDocument\");
                
                foreach (string file in files)
                {
                    //if (string.IsNullOrEmpty(file))
                    //{
                    //    //txtFileName.BackColor = Color.Yellow;
                    //    //MessageBox.Show("Please Select file.");
                    //    return;
                    //}
                    if (File.Exists(file))
                    {
                        ProcessStartInfo info = new ProcessStartInfo(file);
                        info.Verb = "Print";
                        info.CreateNoWindow = true;
                        //info.UseShellExecute = false;
                        info.WindowStyle = ProcessWindowStyle.Hidden;
                        Process.Start(info);
                        
                        //TraceService(@"C:\PrintingDocument\" + file);
                        //TraceService(@"C:\PrintedDocument\" + file);
                        System.IO.File.Move(@"C:\PrintingDocument\" + file, @"C:\PrintedDocument\" + file);
                        TraceService("Printed Successfully" + " " + DateTime.Now.ToString());
                        
                    }
                    else
                    {
                        TraceService("Not File found" + " " + DateTime.Now.ToString());
                    }

                }

ZurdoDev

Вы можете сначала переместить его, а затем открыть и распечатать. Кроме того, каково значение файла, когда происходит ошибка? Это происходит в каждом файле или только в некоторых?

1 Ответов

Рейтинг:
11

Jochen Arndt

Видеть Каталог.Метод GetFiles (System.IO)[^]:

Цитата:
Возвращает имена файлов (включая их пути) в указанном каталоге.

Ваш file переменная-это не одно имя файла, а полный путь. Вы должны извлечь из него имя файла (см. Метод Path. GetFileName (Строка) (System.IO)[^] ).

[РЕДАКТИРОВАТЬ]
Пример:
string fileName = Path.GetFileName(file);
System.IO.File.Move(file, @"C:\PrintedDocument\" + fileName);
[/РЕДАКТИРОВАТЬ]