我做什么:
- 在 Win Server 2008 机器上复制一个 xml 文件(ctrl+C)。
- 最小化 mstsc.exe(远程连接应用程序)。
- 将 xml 文件粘贴到我的 WinXP 机器上(ctrl+V)。
结果:
原始内容全部仍然存在,但在末尾附加了另一部分。
例如,文件的正确结尾看起来是这样的:
<ApplicationName>MyApp</ApplicationName>
</ReceivePort>
</ReceivePortCollection>
<PartyCollection xsi:nil="true" />
</BindingInfo>
但是,复制之后是这样的:
<ApplicationName>MyApp</ApplicationName>
</ReceivePort>
</ReceivePortCollection>
<PartyCollection xsi:nil="true" />
</BindingInfo>al, PublicKeyToken=3zzf3xxxadyyy35" Type="1" TrackingOption="ServiceStartEnd MessageSendReceive PipelineEvents" Description="" />
<ReceivePipelineData xsi:nil="true" />
<SendPipeline xsi:nil="true" />
<SendPipelineData xsi:nil="true" />
<Enable>true</Enable>
<ReceiveHandler Name="WCF_OracleDB_Rx" HostTrusted="false">
<TransportType Name="WCF OracleDB" Capabilities="779" Configuratio
它添加的额外位是来自 XML 文件中较早部分的内容。如果我多次复制,额外的位总是完全相同,但另一个 XML 文件会添加不同的行。
额外的信息:
如果我复制/粘贴文件(如上所述),但首先将其封装到 zip 文件中,则不会出现同样的问题。也就是说,文件可以正常复制,没有任何意外。
如果我从打开的 Windows 资源管理器窗口复制/粘贴到远程计算机上的文件夹,则不会出现相同的行为。即文件正确复制,没有任何额外的意外。
问题:
为什么会发生这种情况?
答案1
我无法在 MS KB 中找到确认这一点的页面,但我认为这是终端服务客户端中的一个错误 - 当以这种方式粘贴某些类型的文本文件时,文件中间某处的数据会添加到其末尾。
您可以通过使用客户端驱动器映射(例如 \tsclient\c)或在复制/粘贴之前压缩文件来解决此问题。
您是否已将远程桌面客户端 (mstsc.exe) 更新至版本 7?这样可能更适合与 Server 2008 剪贴板配合使用。