У меня есть программа синхронизации, которая загружает файлы CSV из папки «Входящие», обрабатывает их, а затем перемещает в папку «Архив».
Сегодня я увидел следующую ошибку. с помощью этого программного обеспечения для синхронизации:
[23.06.2014 00:06:04]: Не удалось переместить файл из
D:\IBI_ORDER_IMPORTER_FTP_SERVER\Template3\Fifty &
Dean\Incoming\5A040K___d6f1ca45937b4ceb98d29d0db4601bf4.csv в
D:\IBI_ORDER_IMPORTER_FTP_SERVER\Template3\&
Дин\ Архив\5A040K___d6f1ca45937b4ceb98d29d0db4601bf4.csv - Не удалось
найти часть пути.
Вот вырванный фрагмент программного обеспечения синхронизации, в котором файл обрабатывается и перемещается:
public static void ProcessSingleUserFile(Int32 TemplateId, String ImportedBy, String FilePath)
{
// Always Rename File To Avoid Conflict
string FileName = Path.GetFileNameWithoutExtension(FilePath);
String NewFilePath = FilePath.Replace(FileName, Utils.RandomString() + "___" + FileName);
File.Move(FilePath, NewFilePath);
FilePath = NewFilePath;
// Log
SyncUtils.ConsoleLog(String.Format("Processing [ {0} as {1} ] By [ {2} ] On Template [ #{3} ]",
FileName + ".csv",
Path.GetFileName(FilePath),
ImportedBy,
TemplateId));
// Init
List myOrderDrafts = new List();
// Parsed Based On Template Id
if (TemplateId == Settings.Default.Multi_Order_Template_Id)
{
// Try Parse File
myOrderDrafts = Utils.ParseMultiImportFile(TemplateId, ImportedBy, FilePath, true);
}
else
{
// Try Parse File
myOrderDrafts.Add(Utils.ParseImportFile(TemplateId, ImportedBy, FilePath, true));
}
// Process Orders
foreach (OrderDraft myOrderDraft in myOrderDrafts)
{
/* code snipped */
}
// Archive File
File.Move(FilePath, FilePath.Replace("Incoming", "Archive"));
}
Есть идеи, что означает эта ошибка? и как это обойти?
Я написал урезанную версию вышеизложенного, чтобы проверить это в контролируемой среде, и при этом ошибка не возникает. код:
static void Main(string[] args)
{
try
{
string baseDir = @"C:\Users\Administrator\Desktop\FTP_SERVER\Template3\Fifty & Dean\Incoming\";
string[] filePaths = Directory.GetFiles(baseDir, "*.csv");
foreach (string filePath in filePaths)
{
// do some work here ...
// move file
string newFilePath = filePath.Replace("Incoming", "Archive");
File.Move(filePath, newFilePath);
Console.WriteLine("File successfully moved");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Console.ReadKey();
}
Подробнее здесь: https://stackoverflow.com/questions/244 ... f-the-path
Ошибка System.IO.File.Move — не удалось найти часть пути ⇐ C#
Место общения программистов C#
-
Anonymous
1729020578
Anonymous
У меня есть программа синхронизации, которая загружает файлы CSV из папки «Входящие», обрабатывает их, а затем перемещает в папку «Архив».
Сегодня я увидел следующую ошибку. с помощью этого программного обеспечения для синхронизации:
[23.06.2014 00:06:04]: Не удалось переместить файл из
D:\IBI_ORDER_IMPORTER_FTP_SERVER\Template3\Fifty &
Dean\Incoming\5A040K___d6f1ca45937b4ceb98d29d0db4601bf4.csv в
D:\IBI_ORDER_IMPORTER_FTP_SERVER\Template3\&
Дин\ Архив\5A040K___d6f1ca45937b4ceb98d29d0db4601bf4.csv - [b]Не удалось
найти часть пути[/b].
Вот вырванный фрагмент программного обеспечения синхронизации, в котором файл обрабатывается и перемещается:
public static void ProcessSingleUserFile(Int32 TemplateId, String ImportedBy, String FilePath)
{
// Always Rename File To Avoid Conflict
string FileName = Path.GetFileNameWithoutExtension(FilePath);
String NewFilePath = FilePath.Replace(FileName, Utils.RandomString() + "___" + FileName);
File.Move(FilePath, NewFilePath);
FilePath = NewFilePath;
// Log
SyncUtils.ConsoleLog(String.Format("Processing [ {0} as {1} ] By [ {2} ] On Template [ #{3} ]",
FileName + ".csv",
Path.GetFileName(FilePath),
ImportedBy,
TemplateId));
// Init
List myOrderDrafts = new List();
// Parsed Based On Template Id
if (TemplateId == Settings.Default.Multi_Order_Template_Id)
{
// Try Parse File
myOrderDrafts = Utils.ParseMultiImportFile(TemplateId, ImportedBy, FilePath, true);
}
else
{
// Try Parse File
myOrderDrafts.Add(Utils.ParseImportFile(TemplateId, ImportedBy, FilePath, true));
}
// Process Orders
foreach (OrderDraft myOrderDraft in myOrderDrafts)
{
/* code snipped */
}
// Archive File
File.Move(FilePath, FilePath.Replace("Incoming", "Archive"));
}
Есть идеи, что означает эта ошибка? и как это обойти?
Я написал урезанную версию вышеизложенного, чтобы проверить это в контролируемой среде, и при этом ошибка не возникает. код:
static void Main(string[] args)
{
try
{
string baseDir = @"C:\Users\Administrator\Desktop\FTP_SERVER\Template3\Fifty & Dean\Incoming\";
string[] filePaths = Directory.GetFiles(baseDir, "*.csv");
foreach (string filePath in filePaths)
{
// do some work here ...
// move file
string newFilePath = filePath.Replace("Incoming", "Archive");
File.Move(filePath, newFilePath);
Console.WriteLine("File successfully moved");
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
Console.ReadKey();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/24410088/system-io-file-move-error-could-not-find-a-part-of-the-path[/url]
-
Сергей
Re: Ошибка System.IO.File.Move — не удалось найти часть пути
Сообщение Сергей »
Длинный путь к файлу.
1736591364
Сергей
Длинный путь к файлу.
Ответить
2 сообщения
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия