问题: 程序输出的一个文件,大小不为0,但是无法打开、删除,文件图标为空白的。删除时提示(该项目不在C:\User\桌面 中)。
文件无法删除解决方法 基本上用此方法能解决。首先新建一个记事本文件然后复制以下代码
DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1
然后保存,最后把该文件扩展名该成.bat(即xxx.txt改成xxx.bat)最后把要删除的文件夹或文件拖到该xxx.bat文件图标上即可删除。如还不能删除请修改xxx.bat文件名使其与要删除的文件夹或文件同名(如要删删除的文件夹名称为ren,则把xxx.bat改成ren.bat)然后再进行拖拽删除。
问题出现背景: 程序在打开一个文件在做信息输出时,出现该问题。
问题原因分析: 通过查看代码,调试,查找到问题原因,文件路径在末尾处多了一个空格。
CString sCmdLine; sCmdline.Format("\"%s\" \"%s @\"",c:/1.exe c:/1.xml) ; CreateProcess (NULL, sCmdLine…);
代码中标@处有一个空格,导致1.exe在输出时使用的路径是"c:/1.xml ",末尾有一个空格,导致输出的文件无法打开也无法删除。
问题解决措施: 修改代码,去掉文件路径末尾的空格,运行程序,文件正常打开。