经验 |【解决报错】'\\Mac\Home\Desktop' 用作为当前目录的以上路径启动了 CMD.EXE。 UNC 路径不受支持。默认值设为 Windows 目录。

今天老大测试写完得工程包时,遇到的问题。之前都没有遇到过这个情况,开帖记录一下解决方法。
运行环境:mac 安装的 win10 系统

出错部分源码:

import os

exe_path = '"' + os.path.dirname(os.path.abspath(__file__))+'\dist\MainWindow\MainWindow.exe'+ '"'
print("exe_path:",exe_path)

os.system(exe_path)

日志窗口:

exe_path: "C:\test\xinshou(1)\xinshou\codes\dist\MainWindow\MainWindow.exe"
'\\Mac\Home\Desktop'
用作为当前目录的以上路径启动了 CMD.EXE。
UNC 路径不受支持。默认值设为 Windows 目录。
'C:\test\xinshou' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
2019-12-02 15:32:59,07

查看日志,打印的 exe_path 正常,os.system(exe_path) 只是系统命令打开 MainWindow 可执行文件。但是报错提示UNC 路径不受支持。默认值设为 Windows 目录。

查看资料后,了解到报错出现的原因:

估计是因为在 网络路径 下所致,如果在普通目录下就没这种问题。

解决方法:
1,将工程的存放目录更换为普通目录:
2,在注册表中, 添加一个值即可. 路径如下:
hkey_current_user\software\microsoft\command processor
添加值 disableunccheck, 类型为 reg_dword 并将该值设置为 1 (十六进制)。

批处理文件如下:(虽然运行的时候会有正确提示,但是实际上却没加进去还需要修改)

reg add “hkey_current_user\software\microsoft\command processor” /v “disableunccheck” /t “reg_dword” /d “1” /f