Я работаю с ESL, и статьи приходят каждый день в папке со всеми обновленными статьями, затем программное обеспечение считывает файл, преобразует его в xml \ layout и точка доступа отправляет информацию в ESL, чтобы обновит ..
![enter image description here](https://i.stack.imgur.com/B1hCl.png)
В этом новом хранилище, которое устанавливается, статьи som имеют значение NUL в поле имени, и оно остановит импорт, потому что преобразование программного обеспечения не нравится ... это можно легко исправить, повторно сохранив файл в блокноте редактировать даже не нужно, просто сохраните и NUL исчезнет.
Мой план состоит в том, чтобы исправить это при перемещении файла из одной папки в другую перед импортом, и в то же время преобразовать или сохранить его.
Это легко сделать в vb.net? У меня есть служба Windows, которая может просматривать папку и перемещать все новые файлы в нужное место.
For Each f In Directory.GetFiles(System.Configuration.ConfigurationManager.AppSettings.Get("NetworkPath").ToString, "*.*", SearchOption.AllDirectories)
If File.Exists(f) Then
File.Copy(f, System.IO.Path.Combine((System.Configuration.ConfigurationManager.AppSettings.Get("LocalPath").ToString), System.IO.Path.GetFileName(f)), True)
Dim Buffert As String
Buffert = File.ReadAllText(f)
Buffert = Buffert.Replace(vbNullChar, "")
File.WriteAllText(f, Buffert)
File.Delete(f)
End If
Next
В Powershell
(Get-Content "C:\test\1.I1") -replace "`0", "" | Set-Content "C:\test\1a.I1"
Этого было достаточно, чтобы удалить все значения NUL ..
У кого-нибудь есть отличная идея?
Проблема решена и код обновлен, если кто-либо с проблемой прочитает это.