在最近开发的一个C#项目中遇到了一个奇怪的问题,当软件读取一个固定路径的文件夹下的子文件夹,并对文件夹里的内容进行遍历时,每次读到一个特定的文件夹就提示”Could not find a part of the path …”,比如读到C:\software test\Packing test\test 这个文件夹的时候就提示Could not find a port of the path “F:\qiepian\2 “,而检查的时候发现这个文件夹是存在的,各种debug都没有找到原因,当我企图删掉这个文件夹,让程序暂时跳过这个错误时,我发现根本删除不了。
可是很明显这个文件夹就是存在的,于是我企图重命名文件夹,同样提示找不到该项目,但是我突然发现重命名的时候文件夹名称后面有一个空格。
正常情况下文件和文件夹名称的前后都不会有空格的,但是这个文件夹是另外一个软件创建的,创建的时候没有处理用户输入的空格,才导致了这个情况。
从网上查了下这种情况的处理办法,可以通过如下方式删除这个文件夹:
- 打开CMD
- 用cd命令切换到要删除的文件夹的上一级,我这里要删除的是C:\software test\Packing test\test这个文件夹,所以输入cd F:\qiepian\2 ,回车
当然你也可以在打开对应的文件夹,然后在地址栏最前面输入cmd+空格,然后回车
3. 输入dir /x,回车后会显示一个列表,最后一列是该目录下的所有文件和文件夹名称,倒数第二列是短文件名
4. 关键一步,如果需要文件夹里的文件,记得先复制出来。然后输入rd+空格+/s/q+要删除的文件夹的短文件名,回车,打开文件夹看看,那个末尾有空格的文件夹就被删除了。
例如
rd /s/q 27F89~1
然后就成功删除了