目前情况很奇怪。
我管理一个C#应用程序,将文件从服务器复制到用户的USB / SD卡。
我最近从System.IO.File.Copy()切换为使用kernal32中的PinFile的CopyFileEx()。
我不是在这里请求代码,我当前的包装程序和代码都可以正常工作(这种情况除外)。
我确实发现原始文件的属性没有被复制,但是我已经解决了。
CopyFileEx可以很好地复制文件,但是有些西门子PLC SD卡无法正常工作。它们似乎可以正常编程,但是PLC永远不会进入运行状态。奇怪的是,从文件资源管理器进行的简单复制和粘贴可以正常工作。
有人知道CopyFileEx是否更改文件的编码或加密?
我比较了复制过程前后文件的二进制文件,并且文件是相同的。所以,我目前很沮丧。
我当前使用的唯一复制标志是COPY_FILE_RESTARTABLE,以获取复制状态。 (主要用于较大的文件。)
有人有类似的经历吗?
谢谢
-J
答案 0 :(得分:0)
所以花了一些时间来进行挖掘和反复试验,但是我弄清楚发生了什么。
复制功能都很好。 我先前关于编码和加密的假设是错误的,并且问题更多与Siemen SD卡上的文件/文件夹有关。
事实证明,即使所有文件都已正确复制,但仍有一个空文件夹没有从服务器复制到SD卡,这使PLC无法正确编程。
-J