DOS 批处理文件内 %cd% 与 %~dp0 符号的区别
DOS 批处理文件内 %cd% 与 %~dp0 符号的区别在执行 DOS 批处理时,有时需要知道当前路径。DOS 环境有 2 环境变量跟当前路径有关,一是 %cd%,另一是 %~dp0。这 2 变量的用法、代表的内容有很大区别。
1、%cd% 可用在批处理文件内,也可用在命令行环境下;
%cd% 展开后,是 “驱动器盘符” :+ “当前目录”。譬如,在 CMD 窗口 DOS 环境进入 D:\Program Files 目录后,键入:
echo %cd% CMD 窗口会显示:
D:\Program Files %cd% 的内容是 “可变的”,其内容为 “命令执行路径” 或 “批处理文件执行路径”。
2、%~dp0只可用在批处理文件内,它是由它所在的批处理文件的具体目录位置决定的;
%~dp0 展开后,是 “批处理文件所在盘符” :+ “批处理文件具体路径”。在批处理文件执行过程中,展开后的内容是 “不可变的”。譬如,在 D:\Program Files 文件夹下有一批处理文件 test.bat,内容如下:
@echo off
echo this is %%cd%%%cd%
echo this is %%~dp0 %~dp0 在 CMD 窗口 DOS 环境 C:\ 目录下执行 test.bat 后,CMD 窗口会输出:
C:\>D:\Program Files\test.bat
this is %cd%C:\
this is %~dp0 D:\Program Files\
版权声明:
本文由 德云社区 整理,原文来自网络。
DOS, CMD, 批处理, bat, MSDOS
DOS, CMD, 批处理, bat, MSDOS
页:
[1]