`

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

阅读更多

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

 

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

 

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

 

   在 c:\dir 下,

 

echo %cd%

 

   显示为,

 

c:\dir

 

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

 

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

 

 

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

 

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

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

 

C:\>D:\dirshow.bat
this is %cd%  C:\
this is %~dp0 D:\
 
分享到:
评论

相关推荐

    DOS批处理中%~dp0等扩充变量语法详解

    **%0**: 在批处理脚本中,`%0`代表的是批处理文件自身的完整路径和文件名。例如,如果你的批处理文件名为`test.bat`,并且位于`C:\Scripts`目录下,那么`%0`将会是`C:\Scripts\test.bat`。 - **%~dp0**: 这个变量的...

    解释Dos %cd% 的例子

    总结起来,%cd%是DOS和批处理文件中不可或缺的一部分,它提供了一种便捷的方式来引用当前工作目录。无论是简单的打印目录路径,还是在文件操作中动态获取当前目录,%cd%都能发挥重要作用。了解并熟练使用%cd%,将使...

    alex0227#alex0227.github.io#2018-11-2-Bat脚本中%cd%和%~dp0的区别1

    本文通过示例来解析两者的不同工具/原料方法/步骤使用范围:%cd%:批处理脚本(bat脚本)、命令行窗口%~dp0:批处理脚本(bat脚本)bat脚本执行时,两

    批处理教程(dos)大全

    - **获取路径脚本**:可能涉及到`CD`命令改变目录,或者使用`%~dp0`获取批处理文件当前所在的完整路径。 - **精确延时脚本**:利用`TIMEOUT`命令实现延迟,可以精确控制脚本执行间的间隔。 - **数值计算脚本**:...

    dos批处理-删除eclipse配置

    2. `cd /d %~dp0`:切换到批处理文件所在的目录,`%~dp0`代表批处理文件的完整路径。 3. `del /s /f /q .metadata*`:删除当前目录及其所有子目录下的`.metadata`开头的文件和文件夹,`/s`表示递归,`/f`强制删除,`...

    Dos批处理文件Bat的编写.txt

    另外还有一些特殊变量用于处理命令行参数,如 `%0` 表示批处理文件本身,`%1`, `%2`, ...表示传入的参数。为了方便处理文件路径,还提供了一系列特殊语法: - `%~1` 删除 `%1` 的引号。 - `%~f1` 获取 `%1` 的完整...

    dos批处理命令详解

    批处理是DOS和Windows早期系统中强大的自动化工具,虽然现在有更多先进的脚本语言,但了解和掌握批处理对于理解计算机工作原理和提高工作效率仍然很有价值。通过熟练运用上述命令,可以构建出功能丰富的批处理脚本来...

    中国DOS联盟批处理室经典帖子合集

    3. **批处理变量**:如 `%~dp0` 可以获取批处理文件所在的完整路径, `%DATE%` 和 `%TIME%` 获取系统当前日期和时间, `%ERRORLEVEL%` 查看上一个命令的返回状态。 4. **批处理流程控制**:掌握`GOTO`标签跳转,`...

    网维大师专用开机批处理4月16日更新

    网维大师专用开机批处理4月16日更新|网吧脚本 - 顺网科技网吧技...网维英雄帖,专家团队大招募 @ECHO off title 客户机开机批处理 ...%~dp0;e:\系统更新\客户机开机运行;C:\Program Files\WinRAR call :sleep

    BAT教程05相对路径

    在批处理脚本中,`%~dp0` 是一个非常有用的命令,它可以获取到当前批处理脚本所在的位置,并将其转换成绝对路径。这里 `%~dp0` 的含义如下: - `%~`:表示将紧跟其后的参数进行扩展。 - `d`:代表“Drive”,即磁盘...

    最经典的50个批处理.rar

    学习并掌握这50个批处理实例,将有助于你理解和应用批处理技术,提升工作效率,解决日常工作中遇到的问题。每个脚本都是一次学习的机会,通过阅读、理解、修改和实践,你可以逐步成为批处理的专家。

    ffmpeg-20190220-7e4d3db-win64-static

    cd /d %~dp0 ffmpeg.exe -i "%~1" -vsync cfr -preset 5 -crf 18 "%~d1%~p1%~n1_CFR.mp4" -------------------------------------------------------------- 这个bat文件要和 ffmpeg.exe 放在同一个目录,把要转码的...

    vs2019提取vc2019 x64位命令行版本

    纯属娱乐和学习使用。使用方法 1.在msys2系统,假设安装目录为/opt/vc,用下列命令设置环境变量 export PATH=/opt/vc/bin:$PATH export LIB=/opt/vc/lib export INCLUDE=/opt/vc/include 2、在windows系统,cmd下在...

    关于bat脚本的目录处理1

    总之,批处理脚本中的 `%~dp0` 是一个强大的工具,能够帮助开发者方便地访问和操作与批处理文件相关的路径信息,从而实现各种自动化任务。了解和掌握这些批处理命令的用法,对于提升Windows系统的自动化效率具有重要...

    DOS批处理不支持将UNC 路径作为当前目录的解决方法

    总的来说,通过“pushd”和“%~dp0”变量可以解决DOS批处理不支持将UNC路径作为当前目录的问题。但是在使用这些方法时,需要考虑到网络共享的权限设置,并且在必要时可以考虑修改注册表,但这应作为最后的手段,因为...

    批处理高级教程精选 批处理高级教程精选

    - **示例**: `%~dp0` 获取当前批处理文件所在的完整目录路径。 #### 三、实用技巧和案例 **1. FTP 实现远程管理** - **功能**: 使用FTP命令进行远程文件传输。 - **示例**: `ftp -s:script.txt` 通过脚本进行自动...

    APKTOOL反编译工具

    `java -jar` 是Java命令行调用JAR文件的方式,`"%~dp0\apktool.jar"` 指定了APKTOOL的可执行文件路径,`%1 %2 %3 %4 %5 %6 %7 %8 %9` 是用于传递命令行参数,这些参数可以是APKTOOL的各种选项和需要处理的APK文件...

    apktool.bat

    修改AndroidKiller的bat,实现反编译apk,@echo off if "%PATH_BASE%" == "" set PATH_BASE=%PATH% ...java -jar "%~dp0\apktool\ShakaApktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 --only-main-classes

    如何编写批处理文件批处理文件批处理文件

    简明批处理教程22009年10月20日 星期二 下午 05:35 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古...

Global site tag (gtag.js) - Google Analytics