远程桌面在复制时损坏文件

我有一个Windows Vista商务框在工作和Windows XP专业箱在家里。 两者都更新到牙齿,但问题仍然存在。 症状是:

  • 当我从XP连接到Vista盒子时,会发生这种情况;
  • 我从Vista框复制文件到XP框;
  • 这只有当我通过Windows资源pipe理器复制文件时才会发生。 如果我使用远程pipe理器,即使closures了“使用系统拷贝程序”,也不会发生;
  • 该文件最后附加了一些随机的垃圾字节。 PHP文件似乎得到NULL字节(零); 二进制文件只是垃圾。
  • 文件越大,附加的字节越多(并且它似乎没有响应硬盘上的任何块大小或任何东西)

例如,我刚刚复制了一个MP3文件。 Vista盒子上的大小是66 373 042字节,但是在XP盒子上拷贝时是66 387 968字节。

在Google上,我一直无法find任何类似的东西。 有任何想法吗?

听起来很像我在microsoft.com上发现的这个问题: 某些文件在使用Windowsterminal服务中的RDC进行复制后被破坏

由于Visa和2008共享一个共同的基础,很可能同样的错误折磨他们两个。

有一点我要指出的是,使用文件大小来查看一个文件是否可行并不是一个好的解决scheme。 我为每个WAN传输使用md5或sha shahes。 我使用开源工具md5deep来生成并检查哈希。 有很多其他的散列工具,如果你不喜欢md5deep出于某种原因。

我有完全相同的问题将文件复制到(或从)Windows 7(RTM)64位主机和Windows XP 32位客户端。 某些复制文件的文件大小比应该大,给出不同的CRC和MD5散列。

我已经使用hex编辑器比较了复制和原始文件,确认内容是相同的,除了复制版本末尾附加的多余的随机字节。 当我截断文件删除多余的字节,这两个文件,然后给了相同的MD5散列。

我不知道是什么导致这个问题,因为我已经在不同的防火墙/networkingconfiguration不同的系统和环境中经历了这个问题。 不过,我希望这可以帮助别人找出可能的原因。

我不知道是什么问题,但有一个提示是66387968是66373042四舍五入到最接近的32768.你确定你得到更多的字节文件越大?

你在看磁盘大小还是大小属性? 磁盘上的大小可能差别很大,因为部分使用的群集将在“磁盘大小”字段中注册为完全使用的群集(从而使文件大小看起来更大,因为群集只能用于存储一个文件的一部分)。

你怎么看这些额外的“垃圾”字? 因为如果您直接检查群集(使用能够直接打开磁盘而不是文件的HEX编辑器),则可以从以前占用物理磁盘空间的文件中删除它们…

我会怀疑这两台机器之间有什么问题 – 你的networking基础设施有多安全? 你可以通过encryption从每台机器到networking的连接来testing这个吗?

既是机器32位或64位? 如果一个是64位而另一个是32位的话,我可以看到这个问题。

我也有这个问题,虽然我还没有能够确定它为什么发生或如何解决它,我find了解决办法。

在远程机器上,您可以使用机器别名“\ tsclient”访问Windows资源pipe理器中的本地机器,因此要打开本地C:\ Temp文件夹,请转到远程机器上的\ tsclient \ c \ temp。 使用此方法复制到本地计算机和从本地计算机复制似乎不会破坏文件。

这要求您在连接之前使本地驱动器可用于远程计算机。

(我认为这个问题与机器之间共享剪贴板有关,而这种方式使用远程机器自己的剪贴板。)

-Frode

微软提供了修复这个bug的修补程序:

http://support.microsoft.com/kb/972828