中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 19:32
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论]请教取得当前目录的区别
楼 主 [讨论]请教取得当前目录的区别 发表于 2008-01-05 14:01 ·  中国 上海 杨浦区 电信
中级用户
★★
积分 321
发帖 135
注册 2007-02-04 04:48
UID 78578
性别 男
状态 离线
我现在只知道两个办法,有没有大侠知道他们的区别是什么?

我在XP下面暂时没有发现区别。

方法1:
@REM/ 当前目录。
set CURRENT_DIR=%~dp0
set CURRENT_DIR=%CURRENT_DIR:~0,-1%

方法2:
%CD%
2 发表于 2008-01-05 14:10 ·  中国 广东 深圳 电信
初级用户
蝙蝠侠是写批处理的人
积分 54
发帖 24
注册 2008-01-04 20:34
UID 107683
性别 男
状态 离线
前者不是当前目录,而是BAT文件所在目录,后者才是当前目录,你保存成文件运行一下下面的BAT就明白了...

@ECHO OFF
CD /D c:\
set CURRENT_DIR=%~dp0
set CURRENT_DIR=%CURRENT_DIR:~0,-1%

ECHO %CURRENT_DIR%
ECHO %CD%
PAUSE
@ECHO ON
3 发表于 2008-01-05 14:18 ·  中国 上海 杨浦区 电信
中级用户
★★
积分 321
发帖 135
注册 2007-02-04 04:48
UID 78578
性别 男
状态 离线
哦,这样啊,谢谢啊。

我一直是在批处理的最开始用前一个方法,所以以为是一样的哪,呵呵
论坛跳转: