Board logo

标题: 关于自己删除自己的问题,高手进来呀,谢啦 [打印本页]

作者: zhanghong1     时间: 2007-7-8 15:20    标题: 关于自己删除自己的问题,高手进来呀,谢啦
现有一个批处理文件。里边就是几个删除的语句。我把他由bat转成了exe~~~

现在有一个困惑:

我这个文件是c:\123目录下的。
可是该文档并不能删除自己本身这个目录
rd /s /q C:\123


我试过:
del %0

不管用的。。。。

现急求删除自身目录的方法。谢谢~~~~~~~~~~~

作者: zhanghong1     时间: 2007-7-8 16:17
5555555555.没有人告诉我/////只要能删除这个自身目录,其它任何方法也行...

再次请大家指点下~~

作者: ccwan     时间: 2007-7-8 17:11
你的文件正在运行中,当然无法删除。可以考虑调用另一批处理删除。

作者: zxlxsqzy     时间: 2007-7-8 23:54
Originally posted by zhanghong1 at 2007-7-8 04:17 PM:
5555555555.没有人告诉我/////只要能删除这个自身目录,其它任何方法也行...

再次请大家指点下~~


按照你说的
我试了一下,能删除掉自身目录,可是删除调用的批处理时总是报错(虽然报错,但是能够删除掉),有什么办法让他不报错吗?


@echo off
cho ^@echo off >d:\1.bat
echo d: >>d:\1.bat
echo ping -n 1 127.0.0.1 >>d:\1.bat
echo rd /s /q c:\123>>d:\1.bat
echo del /s /q d:\1.bat >>d:\1.bat
start d:\1.bat & exit



我试了下,能删,就是始终报错,不知道什么原因
新学的,别笑。。。

作者: haiou327     时间: 2007-7-9 00:22
echo rd/s/q c:\123 >c:\haiou.bat
cd\
haiou.bat


用这句试试,我在CMD测试成功

作者: zxlxsqzy     时间: 2007-7-9 20:11
Originally posted by haiou327 at 2007-7-9 12:22 AM:
echo rd/s/q c:\123 >c:\haiou.bat
cd\
haiou.bat


用这句试试,我在CMD测试成功



你这样删除123倒是没问题了。可你又产生了一个新的垃圾文件haiou.bat

作者: haiou327     时间: 2007-7-9 22:16
echo rd/s/q c:\123 ^>nul >>c:\haiou.bat
echo del c:\8.bat^>nul 2^>nul >>c:\haiou.bat
cd\
haiou.bat
我试过在haiou.bat最后加上一句自杀命令,用CMD来调用haiou,文件可以正常删除,但会提示找不到批处理文件的信息,现在也是没法来屏蔽信息,故在后面加上了>nul 2>nul 也没有屏蔽掉.

Last edited by haiou327 on 2007-7-10 at 11:20 PM ]

作者: haiou327     时间: 2007-7-9 22:18
按照你说的
我试了一下,能删除掉自身目录,可是删除调用的批处理时总是报错(虽然报错,但是能够删除掉),有什么办法让他不报错吗?


@echo off
cho ^@echo off >d:\1.bat
echo d: >>d:\1.bat
echo ping -n 1 127.0.0.1 >>d:\1.bat
echo rd /s /q c:\123>>d:\1.bat
echo del /s /q d:\1.bat >>d:\1.bat
start d:\1.bat & exit

echo ping -n 1 127.0.0.1这句用在这好象是没什么意义.Sample Text

Last edited by haiou327 on 2007-7-9 at 10:20 PM ]

作者: zxlxsqzy     时间: 2007-7-10 13:54
Originally posted by haiou327 at 2007-7-9 10:18 PM:
按照你说的
我试了一下,能删除掉自身目录,可是删除调用的批处理时总是报错(虽然报错,但是能够删除掉),有什么办法让他不报错吗?


@ec ...


这句是没什么意思。
这是我在删的过程中发现有的时候因为延时的原因删不掉123目录
所以让它等一秒

作者: qingfushuan     时间: 2007-7-10 14:18
del /?

del /s /q 带参数试试

作者: haiou327     时间: 2007-7-11 01:46
@echo off
echo rd/s/q c:\123 >c:\haiou.bat
echo del/f/q %%0 ^>nul 2^>nul >>c:\haiou.bat
cd\
haiou.bat

建立楼主不要用START来启动生成的那个批处理,这样又会多个CMD窗口来.
直接批处理不是更好.不过还是无法屏蔽报错信息.

Last edited by haiou327 on 2007-7-11 at 01:49 AM ]

作者: zhanghong1     时间: 2007-7-11 18:25
Originally posted by haiou327 at 2007-7-11 01:46 AM:
@echo off
echo rd/s/q c:\123 >c:\haiou.bat
echo del/f/q %%0 ^>nul 2^>nul >>c:\haiou.bat
cd\
haiou.bat

建立楼主不要用START来启动生成的那个批处理,这样又会多 ...



我目前是调另一个批处理来删除,在那个批处理加自杀..

报错的问题,让我头疼~~~~~~~~~~~~~~~~~~~~~~~

作者: tbs198400     时间: 2007-7-12 12:40
md c:\123
echo ^@echo off >d:\1.bat
echo d: >>d:\1.bat
echo rd /s /q c:\123>>d:\1.bat
echo del %%0 1^>^>nul 2^>^>nul >>d:\1.bat
pause
call d:\1.bat
这样不是更好?

作者: tbs198400     时间: 2007-7-12 12:43
echo ^@echo off >d:\1.bat
echo d: >>d:\1.bat
echo rd /s /q c:\123>>d:\1.bat
echo del %%0 >>d:\1.bat
call d:\1.bat

作者: haiou327     时间: 2007-7-12 23:16
Originally posted by tbs198400 at 2007-7-12 12:43 PM:
echo ^@echo off >d:\1.bat
echo d: >>d:\1.bat
echo rd /s /q c:\123>>d:\1.bat
echo del %%0 >>d:\1.bat
call d:\1.bat


和我的那个代码用什么区别.一模一样.只是你把生成的P放在D盘,而我是放C盘.

Last edited by haiou327 on 2007-7-12 at 11:19 PM ]

作者: oioc     时间: 2007-7-13 06:11
Originally posted by zxlxsqzy at 2007-7-9 08:11 PM:



你这样删除123倒是没问题了。可你又产生了一个新的垃圾文件haiou.bat


echo rd/s/q c:\123 >c:\haiou.bat
echo del c:\haiou.bat /q >c:\haiou.bat
cd\
haiou.bat

作者: zxlxsqzy     时间: 2007-7-13 15:37
Originally posted by oioc at 2007-7-13 06:11 AM:


echo rd/s/q c:\123 >c:\haiou.bat
echo del c:\haiou.bat /q >c:\haiou.bat
cd\
haiou.bat



试过了
不能删除

作者: fanyulin     时间: 2009-5-5 22:22
echo del %0>>die.bat
echo del %%0>>die.bat
die.bat
exit