中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]如何覆盖批处理本身 上一主题 | 下一主题
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『楼 主』:  [求助]如何覆盖批处理本身

我想要在批处理运行时每次都从server里拷贝同名的批处理来覆盖其本身,以确保有人改动本地的批得处理时能及时还原,或者是有更新时,我只需要更改server里的就可以了。
比如:我在D:下有个terry.bat
服务器里也有个terry.bat,目录是d:\terry
用net use 可以映射到本地,运行完就删除这个映射。
@echo off
net use z: \\servername\terry ps /user:asministrator


net use z: /del

:end
哪位高手可以解释一下怎么拷贝并覆盖本身吗?是不是可以实现?谢谢。

2008-9-22 13:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『第 2 楼』:  

有没有哪位高手帮帮忙啊,或者告诉我可行不?

2008-9-22 14:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
metoo
初级用户





积分 195
发帖 93
注册 2006-10-28
状态 离线
『第 3 楼』:  

提个思路:1通过批处理那更新内容弄到一个临时文件
2加入计划任务重命名临时文件为本来的文件名
3del %0

未测试

2008-9-22 18:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baiyangg
新手上路





积分 2
发帖 1
注册 2008-9-22
状态 离线
『第 4 楼』:  

我也想知道

2008-9-22 19:18
查看资料  发送邮件  发短消息 网志  OICQ (458496575)  编辑帖子  回复  引用回复
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『第 5 楼』:  

这个在我程序内就有类似代码
从网上判断下载新版本到本程序所在目录另存为新~.cmd

在程序自己开始加入下面代码
::文件名自我修复功能
if not "%~nx0"=="XP系统工具补丁.cmd" (
        ren XP系统工具补丁.cmd XP系统工具补丁_老版本_cmd>nul 2>nul
        ren %~nx0 XP系统工具补丁.cmd
)


再次运行后,原版本变成老版本,新下载的版本变成原版本
若不想保留直接删除老版本即可

2008-9-23 10:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wuxj
初级用户





积分 50
发帖 25
注册 2007-3-29
状态 离线
『第 6 楼』:  

个人意见还是分成两个吧,一个简单的 call 就能搞定,何必这么麻烦。

2008-9-24 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Evangel
初级用户





积分 145
发帖 95
注册 2008-4-12
状态 离线
『第 7 楼』:  

还是生成临时文件比较好...运行临时文件更改源文件

2008-9-28 04:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: