Windowns 文件名长度限制

今天编程执行远程文件拷贝遇到问题,文件名非法问题,研究了一下,原来windows下对于文件名的全名(full name)是有严格限制的。

 

1. 非法字符限制

    诸如"/", "/"等等都是不允许的。

 

2. 文件全名长度限制

    文件全名最长为260字符长度, Directory的最大长度为248长度。所以你的Directory路径越长越深,那么留给最后文件名字的长度就越小。

 

另外,目前C#.net 2.0好像不提供对于文件重命名的操作的API,所以可以先执行File.Move(string fileName), 然后执行File.Delete(string fileName),实现重命名效果。

 

另外,Application.DoEvents(), 当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。如果在代码中调用 DoEvents,则您的应用程序可以处理其他事件。例如,如果您有向ListBox添加数据的窗体,并将 DoEvents 添加到代码中,那么当将另一窗口拖到您的窗体上时,该窗体将重新绘制。如果从代码中移除 DoEvents,那么在按钮的单击事件处理程序执行结束以前,您的窗体不会重新绘制。

你可能感兴趣的:(Winform.net)