中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 20:31
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于自己删除自己的问题,高手进来呀,谢啦
可打印版本  2,365 / 17
第1楼 zhanghong1 发表于 2007-07-08 15:20
初级用户 发帖 34 积分 78
关于自己删除自己的问题,高手进来呀,谢啦
现有一个批处理文件。里边就是几个删除的语句。我把他由bat转成了exe~~~

现在有一个困惑:

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


我试过:
del %0

不管用的。。。。

现急求删除自身目录的方法。谢谢~~~~~~~~~~~
第2楼 zhanghong1 发表于 2007-07-08 16:17
初级用户 发帖 34 积分 78
5555555555.没有人告诉我/////只要能删除这个自身目录,其它任何方法也行...

再次请大家指点下~~
第3楼 ccwan 发表于 2007-07-08 17:11
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
你的文件正在运行中,当然无法删除。可以考虑调用另一批处理删除。
第4楼 zxlxsqzy 发表于 2007-07-08 23:54
初级用户 发帖 47 积分 126
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



我试了下,能删,就是始终报错,不知道什么原因
新学的,别笑。。。
第5楼 haiou327 发表于 2007-07-09 00:22
高级用户 发帖 348 积分 713
echo rd/s/q c:\123 >c:\haiou.bat
cd\
haiou.bat


用这句试试,我在CMD测试成功
第6楼 zxlxsqzy 发表于 2007-07-09 20:11
初级用户 发帖 47 积分 126
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
第7楼 haiou327 发表于 2007-07-09 22:16
高级用户 发帖 348 积分 713
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 ]
第8楼 haiou327 发表于 2007-07-09 22:18
高级用户 发帖 348 积分 713
按照你说的
我试了一下,能删除掉自身目录,可是删除调用的批处理时总是报错(虽然报错,但是能够删除掉),有什么办法让他不报错吗?


@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 ]
第9楼 zxlxsqzy 发表于 2007-07-10 13:54
初级用户 发帖 47 积分 126
Originally posted by haiou327 at 2007-7-9 10:18 PM:
按照你说的
我试了一下,能删除掉自身目录,可是删除调用的批处理时总是报错(虽然报错,但是能够删除掉),有什么办法让他不报错吗?


@ec ...


这句是没什么意思。
这是我在删的过程中发现有的时候因为延时的原因删不掉123目录
所以让它等一秒
第10楼 qingfushuan 发表于 2007-07-10 14:18
高级用户 发帖 327 积分 502
del /?

del /s /q 带参数试试
第11楼 haiou327 发表于 2007-07-11 01:46
高级用户 发帖 348 积分 713
@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 ]
第12楼 zhanghong1 发表于 2007-07-11 18:25
初级用户 发帖 34 积分 78
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来启动生成的那个批处理,这样又会多 ...



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

报错的问题,让我头疼~~~~~~~~~~~~~~~~~~~~~~~
第13楼 tbs198400 发表于 2007-07-12 12:40
初级用户 发帖 22 积分 46 来自 郑州
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
这样不是更好?
第14楼 tbs198400 发表于 2007-07-12 12:43
初级用户 发帖 22 积分 46 来自 郑州
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
第15楼 haiou327 发表于 2007-07-12 23:16
高级用户 发帖 348 积分 713
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 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023