DOS批处理中%cd%和%~dp0的区别
2015-09-15 00:00
148 查看
摘要: DOS批处理中%cd%和%~dp0的区别
DOS批处理中%cd%和%~dp0的区别
在DOS的批处理中,有时候需要知道当前的路径。
在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。
这两个变量的用法和代表的内容是不同的。
1. %cd% 可以用在批处理文件中,也可以用在命令行中;
展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面, www.2cto.com
输入:echo %cd% ,则显示为:c:\dir 。
%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,
是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,
它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为:
[plain]
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
在C:\ 和E:\分别下执行它,输出为:
DOS批处理中%cd%和%~dp0的区别
在DOS的批处理中,有时候需要知道当前的路径。
在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。
这两个变量的用法和代表的内容是不同的。
1. %cd% 可以用在批处理文件中,也可以用在命令行中;
展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面, www.2cto.com
输入:echo %cd% ,则显示为:c:\dir 。
%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,
是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,
它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为:
[plain]
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
在C:\ 和E:\分别下执行它,输出为:
相关文章推荐
- nginx1.8源码安装+waf+php5.5
- nginx配置优化
- centos6.5上mysql5.6源码安装
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- sed之G、H、g、h使用
- lua mac安装
- redis的批量删除
- CentOS下关闭和开启图形界面
- js比较大小容易忽略的问题
- java中hashmap获取list
- 需求分析到底说的是什么?
- rabbitMQ -- 安装和启动(WIN)
- rabbitmq 基础概念介绍
- Dos 写的一个简单脚本 + 乱码问题
- 使用tengine解决负载均衡的session问题
- hibernate4多字段主键配置方案
- 整合hibernate4到spring4mvc框架
- 关于hibernate的一些事
- mac 关闭dashboard 开机更快
- HTML form -enctype