中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我把Bat轉成Exe後,批次檔無法刪除自身。
作者:
标题: 我把Bat轉成Exe後,批次檔無法刪除自身。 上一主题 | 下一主题
n6333373
新手上路





积分 10
发帖 5
注册 2010-2-4
状态 离线
『楼 主』:  我把Bat轉成Exe後,批次檔無法刪除自身。

各位前輩們,事情是這樣子的:

最近在用批次檔寫安裝檔,
假設我有個批次檔是 setup.bat,是用來控制安裝流程的。
但是最後安裝完之後,我希望把 setup.bat 刪除。

以前我都是在 setup.bat 裡最後一行直接寫上 del /F /Q setup.bat
而安裝完之後該批次檔也的確將自身刪除了。

最近我把 setup.bat 轉檔成 setup.exe ,
而最後一行改為 del /F /Q setup.exe ,
安裝完之後卻無法刪除自身(setup.exe) ,
不知道各位前輩們有什麼好方法可以讓 exe 檔刪除自身?

2010-2-5 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

setup.exe在执行的时候会吧setup.bat释放到一个临时目录,setup.bat找不到setup.exe在什么地方,所以无法删除。



2010-2-5 11:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
n6333373
新手上路





积分 10
发帖 5
注册 2010-2-4
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by HAT at 2010-2-5 11:37:
setup.exe在执行的时候会吧setup.bat释放到一个临时目录,setup.bat找不到setup.exe在什么地方,所以无法删除。

哎呀 ...... 感謝版主的點解,
那該怎麼辦呢 ... 如果不知道那個臨時目錄的話 ...

2010-2-5 11:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

你用的哪个工具把bat转成exe的?



2010-2-5 13:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
n6333373
新手上路





积分 10
发帖 5
注册 2010-2-4
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by HAT at 2010-2-5 13:18:
你用的哪个工具把bat转成exe的?

Bat To Exe Converter

真的是勞煩您了!

2010-2-5 15:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
winnerwjq
新手上路





积分 2
发帖 2
注册 2010-3-16
状态 离线
『第 6 楼』:  

无法删除自身时候提示什么??
del %0
这个可以吗???试试

2010-3-25 17:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovelymorning
初级用户





积分 131
发帖 72
注册 2008-2-24
状态 离线
『第 7 楼』:  

转成 exe 之后,是不能直接删除的。。也无法用 %0 来删除的。。。%0 永远都是 bat 本身路径。。。转成 exe 后。执行时,会把 bat 释放出来的。。。

想删除,可以在bat文件的最前面,用一个变量把路径保存起来。。。。

exe 在执行时,%cd% 就是当前exe所在的路径。。。所以,可以用这个来删除exe文件。。。

但是,如果这个exe被改名了,那就没戏了。。删除不了。。


不过,可以在bat的前面,加个判断。。。

最前面,使用 %cd% 变量。。。就是这个exe所在的文件夹,判断这个文件夹下,是否有特定名字的exe文件。如果有,就继续下面的。。。到最后,再来删这文件

如果没有这个特定名字的exe文件,就退出或者提示说,不能改文件名之类的。。不执行下面的操作。。


删除bat自身。。不建议使用 del .bat 这样的形式。。。最好就是 del %0 来删除

2010-3-25 23:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: