中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 10:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:复制自身并执行的问题 查看 833 回复 5
楼 主 求助:复制自身并执行的问题 发表于 2009-08-21 04:52 ·  中国 河南 郑州 联通
初级用户
★★
积分 136
发帖 59
注册 2006-06-02 16:05
20年会员
UID 56438
状态 离线
我想做一个批处理程序,在特定目录执行,如果在其他地方执行的话,复制自身到指定目录并执行复制后的批处理同时退出原来的批处理,这个该怎么处理,试着想了想,进入死循环了,高手帮帮忙
2 发表于 2009-08-21 12:49 ·  中国 浙江 杭州 余杭区 电信
新手上路
积分 9
发帖 9
注册 2009-08-20 11:17
16年会员
UID 150682
性别 男
状态 离线
用call 不就直接可行了??
3 发表于 2009-08-21 14:51 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@echo off
if not exist d:\temp md d:\temp
if "%~dp0" neq "d:\temp" if not exist "d:\temp\%~nx0" (
copy /y %0 d:\temp\
start d:\temp\%~nx0&exit /b
)
echo 哈哈,我现在在d:\temp中了&pause>nul


[ Last edited by bat-zw on 2009-8-21 at 14:54 ]
批处理之家新域名:www.bathome.net
4 发表于 2009-08-21 23:09 ·  中国 河南 郑州 联通
初级用户
★★
积分 136
发帖 59
注册 2006-06-02 16:05
20年会员
UID 56438
状态 离线
这个好像并没有在d:\temp 下执行,稍微改动下看结果,123.txt并没有在d:\temp


@echo off
if not exist d:\temp md d:\temp
if "%~dp0" neq "d:\temp" if not exist "d:\temp\%~nx0" (
copy /y %0 d:\temp\
start d:\temp\%~nx0&exit /b
)
echo 123 >123.txt
5 发表于 2009-08-25 00:34 ·  中国 河南 郑州 联通
初级用户
★★
积分 136
发帖 59
注册 2006-06-02 16:05
20年会员
UID 56438
状态 离线
求助求助求助
6 发表于 2009-08-25 03:18 ·  中国 陕西 安康 电信
初级用户
积分 58
发帖 29
注册 2008-08-15 19:21
17年会员
UID 123291
性别 男
状态 离线

@echo off
if not exist d:\temp md d:\temp
if "%~dp0" neq "d:\temp" if not exist "d:\temp\%~nx0" (
copy /y %0 d:\temp\
cd /d d:\temp
start %~nx0&exit/b
)
echo 123 >123.txt
论坛跳转: