中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 22:45
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何覆盖批处理本身
可打印版本  904 / 6
第1楼 terrytong 发表于 2008-09-22 13:02
中级用户 发帖 115 积分 240
[求助]如何覆盖批处理本身
我想要在批处理运行时每次都从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
哪位高手可以解释一下怎么拷贝并覆盖本身吗?是不是可以实现?谢谢。
第2楼 terrytong 发表于 2008-09-22 14:48
中级用户 发帖 115 积分 240
有没有哪位高手帮帮忙啊,或者告诉我可行不?
第3楼 metoo 发表于 2008-09-22 18:12
初级用户 发帖 93 积分 195
提个思路:1通过批处理那更新内容弄到一个临时文件
2加入计划任务重命名临时文件为本来的文件名
3del %0

未测试
第4楼 baiyangg 发表于 2008-09-22 19:18
新手上路 发帖 1 积分 2
我也想知道
第5楼 bluewaterx 发表于 2008-09-23 10:08
初级用户 发帖 68 积分 132
这个在我程序内就有类似代码
从网上判断下载新版本到本程序所在目录另存为新~.cmd

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


再次运行后,原版本变成老版本,新下载的版本变成原版本
若不想保留直接删除老版本即可
第6楼 wuxj 发表于 2008-09-24 21:11
初级用户 发帖 25 积分 50
个人意见还是分成两个吧,一个简单的 call 就能搞定,何必这么麻烦。
第7楼 Evangel 发表于 2008-09-28 04:02
初级用户 发帖 95 积分 145
还是生成临时文件比较好...运行临时文件更改源文件
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023