文件路径超出系统限制|问题:源文件名长度大于系统支持的长度怎么破解

文件路径超出系统限制|问题:源文件名长度大于系统支持的长度怎么破解的第1张示图

『壹』 问题:源文件名长度大于系统支持的长度,怎么破解

1.用C语言自定义文件名,涉及到的相关知识如下:_finddata_t结构体:struct _finddata_t {unsigned attrib ; time_t time_create ; time_t time_access ; time_t time_write ; _fsize_t size ; char name [260] ;}rename函数:功能描述:改变文件的名称或者位置,如果目标已存在,将被自动覆盖。 用法: #include <stdio.h>int rename(const char *oldpath, const char *newpath);参数: oldpath:旧文件名。newpath:新文件名或者新位置。 返回说明: 成功执行时,返回0。失败返回-1,errno被设为以下的某个值 EACCES:权能不足EBUSY:参数oldpath或者newpath代表的是目录,而且一些进程正在使用它们EFAULT: 内存空间不可访问EINVAL:参数无效EISDIR:newpath是一个现存的目录,而oldpath不是目录ELOOP :路径解析的过程中存在太多的符号连接EMLINK:目录超出允许的最大连接数ENAMETOOLONG:路径名超出可允许的长度ENOENT:路径名部分内容表示的目录不存在ENOMEM: 核心内存不足ENOSPC: 磁盘配额限制或空间不足ENOTDIR:路径名的部分内容不是目录EPERM : 包含路径名的文件系统不支持建立目录EROFS:文件系统只读ENOTEMPTY:newpath是一个非空的目录,除了. 和 ..以外,还包含其它入口。EEXIST:同上EXDEV:oldpath和newpath不处于同一文件系统2.用C语言自定义文件名的代码例程如下:#include<stdio.h>#include<io.h>int main(int argv, char *argc){ long handle; int i=0, j=0; struct _finddata_t fileinfo; char filePT[256]={'\0'}; char fileType[20]={'a','\0'}; char filePath[256]={'\0'}; char newName[256]={'\0'}; char oldName[256]={'\0'}; printf("Input the rename filePath:\n"); scanf("%s", filePath); fflush(stdin); printf("Input the rename fileType:\n"); scanf("%s", fileType); fflush(stdin); sprintf(filePT, "%s\\*%s",filePath, fileType); handle = _findfirst(filePT, &fileinfo); if(-1 == handle) { printf("_findfirst() error\n"); getchar(); return(-1); } i=1000; do{ sprintf(oldName, "%s\\%s", filePath, fileinfo.name);//全部路径 sprintf(newName, "%s\\%d%s", filePath, i++, fileType); j=rename(oldName, newName); if(j != 0) { printf("rename() error\n"); break; } }while( !_findnext(handle, &fileinfo) ); _findclose(handle); printf("Program End\n"); getchar(); return(0);}

『贰』 迅雷下载提示:任务中有文件的“存储路径”+“文件名”长度超过了系统限制(256个字符),无法建立任务。

原因:下载的文件名过长造成的。

1、打开迅雷,鼠标右键点击正在下载的任务。

『叁』 windows的文件长度和完整路径长度的限制

这个和编程技术有复关制系,这是windows sdk里的stdlib.h里定义的各种“标准”最大长度,如果超出,使用这个“标准”生产的程序,都可能引起缓冲区溢出的BUG。虽然现在系统不会让你缓冲区溢出的,那么,你就不能正常访问到文件。

//-terminator#define_MAX_PATH260//max.lengthoffullpathname#define_MAX_DRIVE3//max.lengthofdrivecomponent#define_MAX_DIR256//max.lengthofpathcomponent#define_MAX_FNAME256//max.lengthoffilenamecomponent#define_MAX_EXT256//max.lengthofextensioncomponent

『肆』 WIN7重命名文件夹时 提示:文件名对目标文件夹可能过长。您可以缩短文件名并重试,或者尝试路径较短的位置

ghost 分区 或 全盘拷贝 就不会出现 文件名对目标文件夹可能过长 这个绊脚石

『伍』 当迅雷显示文件路径超出系统限制 无法继续下载怎么办

迅雷显示文件路径超出系统限制无法继续下载,这是因为迅雷软件崩溃造成的,需要通过重新安装软件的方式来解决:

1、首先打开迅雷安装包,点击一键安装:

『陆』 我已经在百度文库上开通了连续半月,为什么还是不能下载文件

文库的会员应该是至少一个月的吧,不能半个月的接续吧。建议你退出账号,然后重新登陆一下试试。如果还是不行,建议联系文库那边的在线客服人员吧。

『柒』 华为手机-由于系统限制文件无法保存至您所选择的目录怎么解决

你好,应用程序是否能够被安装到自己所要保存的目录,除了手机是否设置了默认存储路径为SD卡外,主要仍然取决于应用程序本身,有的应用只想让安装在内置存储,这样可以减少更换SD卡带来的应用问题。这部分应用安装后是无法移动到SD卡的。另外有部分应用,只要检测到手机安装有SD卡,就会默认将应用安装到SD卡,常见的是一些游戏,这部分应用安装后也是无法看到移动到SD卡选项的。

『捌』 当迅雷显示"文件路径超出系统限制"时怎么办

迅雷显示"文件路径超出系统限制"是设置错误造成的,解决方法为:

1、在windows开始菜单找到迅雷APP,双击点开。

『玖』 迅雷任务中有文件的"存储路径"+"文件名"长度超过了系统限制(256个字符)

限制没法突破,最简单的方法就是改文件夹名字和文件名字,最最无脑就把文件拷到根目录减少文件路径字符长度。一个解压游戏无法打开安装的用户切身体会。

『拾』 文件大小达到限制 你的操作系统不允许写入文件大于4GB 转换被停止 应怎样处理拜托大侠帮我个忙,谢谢

1.虚拟内存的设置 (虚拟内存也是页面文件的一种称谓) 将虚拟内存设置成固定值已经是个普遍“真理”了,而且这样做是十分正确的,但绝大多数人都是将其设置到C盘以外的非系统所在分区上,而且其值多为物理内存的2~3倍。多数人都认为这个值越大系统的性能越好、运行速度越快!但事实并非如此,因为系统比较依赖于虚拟内存——如果虚拟内存较大,系统会在物理内存还有很多空闲空间时就开始使用虚拟内存了,那些已经用不到的东东却还滞留在物理内存中,这就必然导致内存性能的下降! 于是笔者从32MB内存开始试起至512MB内存为止,发现上面的说到的事实是非常正确的,虚拟内存应设置为物理内存0至1.5倍(0倍是多少啊?就是禁用!^_^)为好,而且物理内存越大这个倍数就应越小而不是越大。当物理内存等于或大于512MB时,绝大多数PC就可以禁用虚拟内存不用了,这时内存性能是最高的!^_^ 至于您的虚拟内存具体要设置成多大,您就要自己试一试了,因为这和常驻内存软件的多少和大小以及您平时运行的软件是有直接关系的,所以笔者无法给出建议值。您可先将其设为物理内存等同后,再运行几个大型软件,如果没有异常情况出现的话,您就再将其设置成物理内存的一半后再运行那几个大型软件,如果出现了异常,您就要适当加大虚拟内存的值了!以此类推,当您找到最佳值后只要把这个值设置到C盘上就OK了!:) 注:如果您使用的是Windows ME及以下的操作系统的话,可下载“MagnaRAM 97”来优化物理内存和虚拟内存,这样的效果更好!另外,笔者建议您不要再使用那些所谓的优化和整理内存的软件了! 2.内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。 虚拟内存的设置 对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。 找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。 调整分页位置 Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。 而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。 或者,WinXP一般要求物理内存在256M以上。如果你喜欢玩大型3D游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。 如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能 设置→高级→虚拟内存 更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置。一般来说,虚拟内存为物理内存的1.5倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。 44》虚拟内存使用技巧 对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法: (1)在Windows系统所在分区设置页面文件,文件的大小由你对系统的设置决定。具体设置方法如下:打开"我的电脑"的"属性"设置窗口,切换到"高级"选项卡,在"启动和故障恢复"窗口的"写入调试信息"栏,如果你采用的是"无",则将页面文件大小设置为2MB左右,如果采用"核心内存存储"和"完全内存存储",则将页面文件值设置得大一些,跟物理内存差不多就可以了。 小提示:对于系统分区是否设置页面文件,这里有一个矛盾:如果设置,则系统有可能会频繁读取这部分页面文件,从而加大系统盘所在磁道的负荷,但如果不设置,当系统出现蓝屏死机(特别是STOP错误)的时候,无法创建转储文件 (Memory.dmp),从而无法进行程序调试和错误报告了。所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。 (2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的 页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。 (3)其它硬盘分区不设置任何页面文件。当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。这样系统性能将得到提高。 小提示: 允许设置的虚拟内存最小值为2MB,最大值不能超过当前硬盘的剩余空间值,同时也不能超过32位操作系统的内存寻址范围——4GB。 祝你好运了

未经允许不得转载:山九号 » 文件路径超出系统限制|问题:源文件名长度大于系统支持的长度怎么破解

赞 (0)