我尝试使用xcopy
命令将具有utf-8文件名的文件从Windows服务器(2008 R2 Standard)计算机复制到另一台远程服务器(Windows 10),然后使用{{ 1}}命令映射网络驱动器。
MapNetworkDrive
作为输出,我得到try{
$WshNetwork = new COM("WScript.Network");
$WshNetwork->MapNetworkDrive("k:", SERVER_FOLDER, FALSE, SERVER_USER, SERVER_PASSWORD);
}catch(Exception $ex){}
echo f | xcopy "myFolder\тест.fbx" "k:\myFolder\тест.fbx" (1)
。
我想提及三件重要的事情
当我使用上面的命令和一个用拉丁字母命名的文件时,它可以工作。例如,out=0 File(s) copied ret=4
工作正常。
当我尝试使用echo f | xcopy "myFolder\test.fbx" "k:\myFolder\test.fbx"
命令将文件(使用非拉丁字母)复制到同一台机器上的另一个文件夹时,一切都成功了。
例如(1)
这个命令也可以正常工作。
当我尝试通过echo f | xcopy "C:\\myFolder\тест.fbx" "C:\\myFolder\subFolder\тест.fbx"
文件从本地计算机(Windows 10)复制到远程服务器(Windows 10)时,它也可以正常工作。
为什么(1)
命令不执行复制操作?
答案 0 :(得分:0)
我的问题是php版本,我使用的是php 7.0
,它不适用于unicode特性。对于较早的版本,我不知道还有其他解决方案,但是我已经将php
升级到7.2
,问题已解决。另外,在其他问题中,我发现该问题在php 7.1
和更高版本中消失了。