例如,如果我在许多分层文件夹下的网络服务器上存储一些文件。
然后我想做备份。但我总是遇到问题,因为文件路径超过255?
如何解决此问题或解决此问题?
前言:我假设要将文件复制到的机器的操作系统是Windows的某种风格。
Mark Bessey的第一部分在一定程度上是正确的,但是即使在具有现代文件系统(例如NTFS)的现代版本的windows上,您仍然可能遇到问题。
我怀疑您遇到的限制是由于MAX_PATH,这是Windows上许多API接受的路径长度的预定义限制。
您可以尝试使用Robocopy进行备份,因为它能够创建比MAX_PATH限制更长的路径。但是,大多数应用程序将无法访问这些文件。
对文件进行分级或压缩可能是一个不错的计划,但你似乎不太可能将它们解压缩或解压缩到Windows机器上。
也许升级到过去十年左右更新的操作系统?但说真的,你在用什么操作系统和文件系统?即使FAT32也支持长路径和文件名,尽管路径的任何单个组件都限制为255个字符。
如果目录的名称中有超过255个字符,那么这是有问题的(而且有点奇怪)。为了解决这个问题,您可以考虑使用在服务器上运行的归档实用程序(tar或zip),然后将归档发送到yuor桌面计算机。
什么操作系统,什么协议?
我所能看到的是:CoreFSIF,限制为256个字符。
您看到的是Win32的MAX_PATH限制(MAX_PATH为260)。
API上有"转义",可以使用NT的32767个字符的较大限制(在路径前加\\?\),但这仅适用于某些API。以这种方式创建的文件往往会混淆其他程序,这些程序希望所有路径都适合MAX_PATH大小的缓冲区。
解决此问题的方法(用于备份/还原)是找到一个程序,该程序可以备份(和还原!)具有较长路径的文件(通过始终使用API"escapes"或基础的NT API)。另一种选择是使用不同的操作系统进行备份/恢复。