Board logo

标题: 如何利用%cd%显示批处理文件所在的根目录? [打印本页]

作者: xlrtx     时间: 2008-6-21 16:37    标题: 如何利用%cd%显示批处理文件所在的根目录?

记得以前有人说过,好像是取了变量%cd%的前3个字符,一个命令就可以了
作者: Climbing     时间: 2008-6-22 09:33
%CD%不一定表示批处理所在的目录,而是表示你运行这个批处理时的当前目录。假设这样:

D:\DOS> c:\batch\my.bat

那么%cd%表示d:\dos目录,而my.bat所在的目录却是c:\batch。

如果在cmd下,可以用%~dp0来表示批处理所在盘符。
作者: xlrtx     时间: 2008-6-22 22:41
谢谢楼上的解答,可惜理解错了

能否实现这个效果?

运行这个bat文件,就会echo出这个bat文件的所在盘符.

以前有个人说过,用一个命令就可以了
作者: lixin12345     时间: 2008-6-23 08:52
@echo off
echo 当前路径是:%cd%
echo 当前盘符是:%cd:~0,1%
pause
作者: xlrtx     时间: 2008-6-24 00:01
感谢楼上的解答 XD~
作者: quya     时间: 2008-6-24 00:09


  Quote:
Originally posted by xlrtx at 2008-6-24 12:01 AM:
感谢楼上的解答 XD~

其实2楼是对的, 他没理解错。

而4楼不完全对,虽然大多数情况下是同样结果。

所以,我有必要提醒你一下,最应该感谢的人在2楼和我。
作者: Climbing     时间: 2008-6-24 12:32
看问题不能凭想象,实践才能出真知。
作者: fastslz     时间: 2008-6-24 23:15

@echo off
echo %~d0
pause
详情参阅: for /? 第5次回车上的内容