批处理 取得当前路径 %CD%

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

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

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

在 c:/dir 下,

Bat代码

  1. echo %cd%

echo %cd%

显示为,

Bat代码

  1. c:/dir

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

@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0

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

Bat代码

  1. C:/>D:/dirshow.bat

  2. this is %cd%  C:/

  3. this is %~dp0 D:/

批处理 取得当前路径 %CD%,布布扣,bubuko.com

时间: 2024-08-07 12:29:02

批处理 取得当前路径 %CD%的相关文章

批处理获得当前路径

原文:批处理获得当前路径 @echo offecho 当前盘符:%~d0 echo 当前盘符和路径:%~dp0 echo 当前批处理全路径:%~f0 echo 当前盘符和路径的短文件名格式:%~sdp0 echo 当前CMD默认目录:%cd%

批处理,%~d0 cd %~dp0 代表什么意思

~dp0 "d"为Drive的缩写,即为驱动器,磁盘."p"为Path缩写,即为路径,目录cd是转到这个目录,不过我觉得cd /d %~dp0 还好些 选项语法: ~0         - 删除任何引号("),扩充 %0    %~f0        - 将 %0 扩充到一个完全合格的路径名("f"是file,即文件)    %~d0        - 仅将 %0 扩充到一个驱动器号    %~p0        - 仅将 %0 扩充到

批处理的赋值 调用 参数

摘自:http://blog.chinaunix.net/uid-15014334-id-3015867.html 3 赋值 调用 参数 3.1 赋值 3.1.1 给变量赋予一个文字字符串的值 说到赋值,就得先弄懂 set 这条命令.set 这条命令比较复杂,在命令提示符中键入 set /? 后得到的帮助信息也很多.不过,简单地说,使用 set 跟上变量,再用等号 = 跟上字符串就能简单地给该变量赋值了.例如 set var=Hello world! .为了确认一下变量 var 的值是否是 He

一起talk C栗子吧(第七十四回:C语言实例--DIY cd命令)

各位看官们,大家好,上一回中咱们说的是DIY pwd命令的例子,这一回咱们说的例子是:DIY cd命令.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,在Linux系统中,终端提供的cd命令是我们最常用的命令之一,相信大家对它一定很熟悉了.今天,让我们一起来DIY cd命令吧.下面是具体的操作步骤: 1.从用户输入的内容中提取路径名称: 2.把刚才获取的路径名称传递给chdir函数,使用该函数切换到名称所在的目录中: 3.确认函数运行的结果,如果不能切换,给用户一个提示. 下面是我们

Linux文件系统命令 cd

命令名:cd 功能:切换到某一个目录,后面可以跟相对路径和绝对路径. eg:cd /etc/ 表示的是进入到/etc/目录下 另外几个比较特俗的用法: cd - 切换到当前目录 cd ./ 还是当前路径 cd / 切换到根目录

%cd%与%~dp0

浅谈批处理中的%cd%与%~dp0 分类: 点滴积累2012-03-27 10:10 2364人阅读 评论(0) 收藏 举报 这两个变量都是用来表示当前目录,可使用时却大不相同,记录下 %cd%代表的是执行文件的当前目录,强调bat是在哪里启动的:->盘符展开后是可改变的 %~dp0代表的是bat文件所在的文件目录,强调bat的文件位置     ->盘符展开后是不可改变的 我们举个例子来说明会更直观些 我在桌面新建一个文件夹,里面创建一份bbb.bat文件,文件内容为 @echo off ec

Linux命令工具基础02 文件及目录管理

文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理有太多的工具供我们使用,在本章中只是点到即止,后面会有专门的一章来介绍文本的处理工具: 有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果: 创建和删除 创建:mkdir 删除:rm 删除非空目录:rm -rf file目录 删除日志 $rm *log 等价: $

Music Studio项目心得--JNI实现C++调用JAVA

这个项目是我參加内蒙古挑战杯的比赛项目,因为时间关系,我没时间实现OpenOMR开源项目由JAVA全然向C++的转换,经过我半个多月的尝试,我将OpenOMR中的1/3的代码改写成C++,只是非常快我就发现,假设依照这个进度,我是不管怎样也无法按时完毕工作了,更重要的是Joone人工智能库的算法要是全然移植不是我一个大二学生可以在这么短的时间做到的,于是我放弃JAVA转C++的解决方. 取而代之的是,我使用JAVA做算法的核心,这样就能够用最小的代价高速完毕项目,而用C++去调用JAVA的方法,

自动执行ocx注册的bat脚本

 @echo off rem 进入当前路径 cd %cd% if exist C:\WINDOWS\system32 xcopy UnionKdm.ocx C:\WINDOWS\system32 if exist C:\WINDOWS\system32 xcopy kdm_dll.dll C:\WINDOWS\system32 if exist C:\WINDOWS\system32 xcopy UnionKdm.inf C:\WINDOWS\system32 if exist C:\WIN