中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-30 04:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已解决】删除批处理所在目录的大难题 查看 3,887 回复 24
16 发表于 2007-04-18 02:20 ·  中国 浙江 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
@echo off
set ml=%cd%
echo ping 127.1 -n 4 >%temp%\del.bat
echo rd /s /q "%ml%">>%temp%\del.bat

start %tmp%\del.bat
del %0


这段代码哪有问题,仍然提示有进程在运行无法删除。郁闷了
17 发表于 2007-04-18 02:25 ·  中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
del %0

这一句后面不要回车就可以。
知,不觉多。不知,乃求知
18 发表于 2007-04-18 02:26 ·  中国 浙江 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
试了2楼的方法。不行。晕
19 发表于 2007-04-18 02:28 ·  中国 浙江 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
因为这段代码是在BAT目录的一个批处理,他在运行就没法被删啊。郁闷

@echo off
set ml=%cd%
echo ping 127.1 -n 4 >%temp%\del.bat
echo rd /s /q "%ml%">>%temp%\del.bat

start %tmp%\del.bat
del %0
20 发表于 2007-04-18 02:28 ·  中国 广东 广州 天河区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
概念还没有弄懂就乱来。当然啦。
知,不觉多。不知,乃求知
21 发表于 2007-04-18 02:35 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
Originally posted by flyinspace at 2007-4-17 01:28 PM:
概念还没有弄懂就乱来。当然啦。


怎么说。
22 发表于 2007-04-18 02:45 ·  中国 浙江 宁波 鄞州畅联信息技术有限公司
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
解决了。代码改为这样就可以了。


@echo off
set ml=%cd%
echo ping 127.1 -n 4 >%temp%\del.bat
echo rd /s /q "%ml%">>%temp%\del.bat
cd..
start %tmp%\del.bat
del %0
23 发表于 2007-04-18 04:39 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 866
发帖 415
注册 2005-12-04 11:19
20年会员
UID 46459
状态 离线
这样就生成垃圾文件了,应该再加一句:
echo del /q "%temp%\del.bat" >> %temp%\del.bat
24 发表于 2007-06-29 00:30 ·  中国 湖北 十堰 郧西县 联通
初级用户
积分 38
发帖 20
注册 2006-07-04 16:50
20年会员
UID 58001
状态 离线
@echo off
set ml=%cd%
echo ping 127.1 -n 4 >%temp%\del.bat
echo rd /s /q "%ml%">>%temp%\del.bat
cd..
start %tmp%\del.bat
del %0
echo del /q "%temp%\del.bat" >> %temp%\del.bat

经典功能的批处理啊,怎么也明白删除echo ping 127.1 -n 4 >%temp%\del.bat这一行运行还是有ping的过程,郁闷,不用ping不行吗?
25 发表于 2008-01-26 16:11 ·  中国 北京 华为云
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
在坛子里摸到的,最牛了,因为批处理本身正在运行,所以要先退出当前目录才能删除,怎一个纟色字了得!
cd\&rd /s /q "%~dp0"
论坛跳转: