我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

DOS批处理中%cd%和%~dp0的异同

Posted on 2011-03-29 20:13 Hero 阅读(337) 评论(0)  编辑 收藏 引用 所属分类: DOS

在DOS的批处理中,有时候需要知道当前的路径。在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。

 

   这两个变量的用法和代表的内容一般是不同的。

 

  1. %cd% 可以用在批处理文件中,也可以用在命令行中;展开后,是驱动器盘符:+当前目录,如:

 

   在 c:\dir 下,

 

Bat代码  收藏代码
  1. echo %cd%  

 

   显示为,

 

Bat代码  收藏代码
  1. c:\dir  

 

   %cd%的时间内容是可以被改变的,比如CD命令就可以改变它的内容。

 

 2. %~dp0    只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,它展开后的内容是不可以改变的。

 

 

  比如在D盘下有个批处理文件,dirshow.bat:

 

Bat代码  收藏代码
  1. @echo off  
  2. echo this is %%cd%%  %cd%  
  3. echo this is %%~dp0 %~dp0  
 

   在C:\ 下执行它,输出为:

 

Bat代码  收藏代码
  1. C:\>D:\dirshow.bat  
  2. this is %cd%  C:\  
  3. this is %~dp0 D:\  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理