VC 执行cmd dos命令时 无法删除目录 和自身,自己手动打开生成的cmd 时删除成功
生成的cmd文件内容rd.aa\Datadel.aa\uninst.exerd.\aadeldele.cmdWinExec(strMyDir,SW_SHOW);//cmd...
生成的 cmd文件内容
rd .aa\Data
del .aa\uninst.exe
rd .\aa
del dele.cmd
WinExec(strMyDir,SW_SHOW); //cmd 执行了 看到执行界面了 但是没有删除
ShellExecute(NULL,"open",strMyDir,NULL,NULL,SW_SHOW); // 这个函数 一样
cmd 执行了 看到执行界面了 但是没有删除 ,自己手动打开生成的cmd 可以删除 都很OK , 求大神 解救
要删除的目录 都是空目录 展开
rd .aa\Data
del .aa\uninst.exe
rd .\aa
del dele.cmd
WinExec(strMyDir,SW_SHOW); //cmd 执行了 看到执行界面了 但是没有删除
ShellExecute(NULL,"open",strMyDir,NULL,NULL,SW_SHOW); // 这个函数 一样
cmd 执行了 看到执行界面了 但是没有删除 ,自己手动打开生成的cmd 可以删除 都很OK , 求大神 解救
要删除的目录 都是空目录 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
展开全部
任何一个可执行文件(exe)在执行过程中,是无法删除文件和文件所在目录的,因为文件还在执行中,有内存占用,删除请求不会被操作系统允许。
标准卸载删除,都是使用win下的卸载程序,该程序不在程序安装目录下。
你的程序,变通的实现办法:
抛出执行批处理文件后,uninst.exe文件立刻退出(不等待执行返回),.bat批处理文件中,先通过call :delay 1000这样的语句产生延时,之后再执行删除,应该就没有问题了。
标准卸载删除,都是使用win下的卸载程序,该程序不在程序安装目录下。
你的程序,变通的实现办法:
抛出执行批处理文件后,uninst.exe文件立刻退出(不等待执行返回),.bat批处理文件中,先通过call :delay 1000这样的语句产生延时,之后再执行删除,应该就没有问题了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
不一定,ARM架构的嵌入式开发可以基于uc/os、Linux、Windows等操作系统,而不一定要使用LINUX操作系统。在ARM架构上,Windows和Linux都是可以使用的,而且许多嵌入式系统开发工具也都是支持这两种操作系统的。因此,...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询