![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 13:03 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]在批处理中删除本身批处理文件? |
| 可打印版本 2,326 / 5 |
| 第1楼 hyzys | 发表于 2004-11-25 00:00 |
| 初级用户 发帖 17 积分 189 | |
|
[求助]在批处理中删除本身批处理文件? 记得有一个命令可以删除批处理本身的,一下子忘了,就是比如:
在A.BAT中用一个什么命令使得可以删除A.BAT本身? |
|
| 第2楼 Climbing | 发表于 2004-11-26 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
@echo off
echo Before delete: dir %0.* echo Going for delete myself... echo %0 | find /i ".bat" if errorlevel 1 goto _addext copy %0 %0.bak > nul del %0 goto _quit:_addext copy /y %0.bat %0.bat.bak > nul del %0.bat:_quit |
|
| 第3楼 autoit | 发表于 2004-11-26 00:00 |
| 系统支持 发帖 339 积分 904 来自 厦门 | |
以下是引用Climbing在2004-11-26 13:21:37的发言: del /q a.bat 就可以的吧? |
|
| 第4楼 小石头 | 发表于 2004-11-27 00:00 |
| 初级用户 发帖 28 积分 165 | |
|
如果批处理不叫A.bat怎么办?我的批处理是针对任何文件名的(当然扩展名必须是BAT)。楼主出的问题是让批处理删除自身,并没有限定这个批处理一定要叫A.BAT,所以要从批处理内部判断自己叫什么。
|
|
| 第5楼 linson | 发表于 2004-12-01 00:00 |
| 中级用户 发帖 31 积分 283 | |
|
del /q %0就可以删除本身.
|
|
| 第6楼 willsort | 发表于 2004-12-04 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re Climbing:
将你的程序略作修改。另外,仍然有无法找到批处理文件的提示,生成临时的删除程序也会留下尾巴,所以还是需要利用系统的卸载机制,不过程序就复杂化了。 Re linson: del /q %0 语句,当在命令行使用主程序名调用批处理程序时,无法删除自身。 @echo off echo Before delete: dir %0.* echo Going for delete myself... ::echo %0 | find /i ".bat" ::if errorlevel 1 goto _addext if exist %0.bat goto _addext if not exist %0 goto _quit copy %0 %0.bak > nul del %0 goto _quit :_addext copy /y %0.bat %0.bat.bak > nul del %0.bat :_quit |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |