Board logo

标题: 【解决】如何删除批处理所在文件夹 [打印本页]

作者: qzwqzw     时间: 2008-1-3 09:35    标题: 【解决】如何删除批处理所在文件夹

做一个卸载批处理
碰到一个问题
如何删除批处理自身所在文件夹

=================================
已经解决
最终采用3楼方案的变形
cd.. & rd /s /q "%~dp0"
4楼的程序经测试也是可用的
只是无法应用在我的环境中

5楼代码花哨不少
可是似乎起作用的不多

6楼的代码正如13楼所说
没有退出批处理所在目录是无法删除的

12楼的代码同6楼是一样的问题

[ Last edited by qzwqzw on 2008-1-3 at 11:55 PM ]
作者: tireless     时间: 2008-1-3 09:50
我也问过这个问题。不知能否在其他目录生成一批处理来删除
作者: afeichai     时间: 2008-1-3 14:51
这个是别人帮我写的,删除批处理所在目录及其所有文件
@echo off
set ".=%~dp0"&cd\
rd /s /q "%.%"

作者: afeichai     时间: 2008-1-3 15:03
朋友帮我写了个小程序,运行后有提示的,不能在分区根目录运行。晕,服务器满了,不能上传附件了。
给个其他论坛的下载
点击下载
作者: everest79     时间: 2008-1-3 15:54
cd\&start cmd /c"ping 127.1 -n 1&echo rd /s "%~dp0""&exit/b
作者: HAT     时间: 2008-1-3 16:20

@echo off
echo hello
rd /s /q "%~dp0"

作者: tireless     时间: 2008-1-3 18:01
试了楼上几位的,“文件夹”都还健在啊?
作者: afeichai     时间: 2008-1-3 19:03
文件夹里面如果有正在使用的文件,是不会删除的。偶测试是通过的,系统是XPSP2
作者: huahua0919     时间: 2008-1-3 19:09

先运行批处理,再删除文件夹,会导致删除失败.可否运行批处理结束CMD进程后,删除文件夹!

作者: huahua0919     时间: 2008-1-3 19:10
想了下,还是无效!
作者: HAT     时间: 2008-1-3 21:32
6楼的代码在XP SP2下测试成功,测试失败的朋友能否列出你们的系统环境?
作者: digger     时间: 2008-1-3 21:53
6楼的代码在我的XP系统上没有成功,试用了一下以下的代码,仍然没有成功:
@echo off
set "route=%cd%"
(echo @echo off
echo rd /q /s "%route%"
echo del ^"%%~0^")>"%~d0\1.cmd"
start %~d0\1.cmd

作者: everest79     时间: 2008-1-3 23:25
删除批处理所在目录时,不能为当前批处理的工作目录,所以六楼的加个CD应可以
作者: qzwqzw     时间: 2008-1-3 23:53
多谢各位!
已经解决
最终采用3楼方案的变形
cd.. & rd /s /q "%~dp0"
4楼的程序经测试也是可用的
只是无法应用在我的环境中

5楼代码花哨不少
可是似乎起作用的不多

6楼的代码正如13楼所说
没有退出批处理所在目录是无法删除的

12楼的代码同6楼是一样的问题
作者: hwhan525     时间: 2008-1-4 10:41
这个真是不错呀,我一直为这个问题烦恼,又学习了!!!
作者: tireless     时间: 2008-1-4 11:07
挖哈哈,真好的代码,很有用,非常感谢!!!
作者: renwo000     时间: 2008-1-11 11:44
真不错。看看
作者: godzza     时间: 2008-1-11 22:40
先把自身复制到该文件夹的同一目录,再删除?ok么?