提问人:dmvn denso 提问时间:4/26/2023 最后编辑:dmvn denso 更新时间:4/26/2023 访问量:79
在 macOS 中检查共享云端硬盘中是否存在文件时出现问题
Issue when checking if file exists in shared drive in macOS
问:
我正在尝试找出本地网络中 Windows 计算机的共享驱动器中是否存在文件。该驱动器可以很容易地安装和访问我的机器,它不需要凭据。我正在使用 Visual Studio for Mac。
我在 C# 中使用以下代码,并且存在为 false:
FileInfo fileInfo = new FileInfo(@"\\servername\folder\file.pdf");
bool exists = fileInfo.Exists;
我在 Windows 中尝试了代码,并且存在是真的。 我不知道 Mac 和 Windows 之间的区别。
我认为问题是 FileInfo 实际上并没有访问参数中的共享驱动器和路径,而是使用 FullPath 属性检查 fileinfo,如下所示。
"/Users/me/Projects/CurrentProjectFolder/\\\\servername\\folder\\file.pdf"
它位于“用户路径”下。 请告诉我为什么以及如何解决。
答:
0赞
Jonathan Dodds
4/26/2023
#1
来自 Windows 的共享将挂载在 macOS 上。如果挂载自 ,则本地路径为 。/Volumes
folder
servername
/Volumes/folder
例如:
@"/Volumes/folder/file.pdf"
(如果您打开应用程序并将挂载卷的图标拖动到终端窗口上,挂载卷的路径将添加到当前光标位置。Terminal
\\servername\folder\file.pdf
是 UNC(通用命名约定)路径,并且似乎仅在 Windows 上支持 UNC 路径。
UNC 路径无法识别,并被解释为未扎根。由于当前目录未获得 root 权限,因此会预置当前目录,从而导致:
/Users/me/Projects/CurrentProjectFolder/\\\\servername\\folder\\file.pdf
评论
0赞
dmvn denso
4/27/2023
这是我需要的。destiation 文件位于 Volumes 文件夹下。这让我度过了一些糟糕的日子。谢谢。
评论