我在 OS X 10.8 主机上的 VirtualBox 中运行 Windows 7。主机有一个共享文件夹,里面有一个名为的文件>>>FILE<<<
。显然,OS X 本身对这样的文件名没有问题。<
不幸的是,由于名称中的s 和s ,我似乎无法在 Windows 7 中打开这些文件>
。在 C 中,此调用失败:
CreateFileW(
L"\\\\VBOXSVR\\ft1\\>>>FILE<<<",
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
GetLastError
返回ERROR_INVALID_NAME
(123)。如果我将文件名更改为FILE
,我会得到一个有效的句柄,一切都很好。
Windows 中是否有一种已知方法可以访问名称中包含无效字符的文件?假设一个生产环境没有对主机文件系统的直接写访问权限。