`

DOS批处理中%cd%和%~dp0的区别

bat 
阅读更多
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:\分别下执行它,输出为:

 
 
 
作者 yxyy3604
分享到:
评论

相关推荐

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

    主要介绍了DOS批处理中%~dp0表示什么意思,需要的朋友可以参考下

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

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

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

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

    APKTOOL反编译工具

    @echo off set PATH=%CD%;%PATH%; java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

    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 放在同一个目录,把要转码的...

    最经典的50个批处理.rar

    最经典的50个批处理

    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程序.pdf

    "" echo "此⽂件夹为空" bat获取当前⽬录 @echo off echo 当前盘符:%~d0 echo 当前盘符和路径:%~dp0 echo 当前盘符和路径的短⽂件名格式:%~sdp0 echo 当前批处理全路径:%~f0 echo 当前CMD默认⽬录:%cd% ::上⼀...

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

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

    使用批处理获取字符串的文字

    cd "%~dp0" %~d0% @REM 分别测试 @REM "@dimen/mm_30f" 负数 @REM "@dimen/mm_30" 正数 @REM @dimen/mm_30 其他 set line_str1=android:paddingLeft="@dimen/mm_30f" set token_start1=mm_ set token_len1=3 call...

    win7系统运行批处理文件

    win7系统、win8系统、win10系统,用批处理注册控件时,在批处理文件开头加上cd /d %~dp0,注册控件时需要用管理员运行

    pushd, 快速的多协议移动和网络推送通知服务.zip

    pushd, 快速的多协议移动和网络推送通知服务 通用移动推送守护进程这就是一个可以向移动本地应用程序发送服务器端通知的服务器,你可以从一个入口点向任何支持的移动平台,网络应用程序或者HTTP服务器发送推送通知。...

    让wps支持vba

    从Microsoft Shared和SYSTEM32中提取vba及其依赖的基本文件,复制并设置注册表后, 即可让WPS 2012使用VBA7。 运行批处理脚本SET.BAT可自动复制和设置。在WIN XP中双击SET.BAT即可。在Win7中, 需在SET.BAT上点...

    Redis-7.0.8-安装服务自动启动

    1.Redis(Remote ...cd /d %~dp0 sc.exe create Redis binpath="%~dp0\RedisService.exe" start= auto net start Redis pause 停止删除服务 @echo off cd /d %~dp0 net stop redis sc delete redis pause

    屏幕适配、dp适配,批处理文件和jar包

    方便快捷的屏幕适配工具,批处理文件满足所有尺寸需求

    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

    DP83848中文数据手册 DP83848中文文档

    DP83848中文数据手册 DP83848中文文档 全篇翻译无排版 DP83848C / I / VYB / YB PHYTER™QFP单端口10/100 Mb / s以太网物理层收发器 从–40°C到105°C的多个温度范围•IEEE 802.3 ENDEC,10BASE-T收发器和 • 低...

    Dos命令大全

    DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。 10.for 命令 for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。 在批处理文件中使用 FOR 命令...

    ProfibusDP_DPV0_STM32_Demo

    ProfibusDP_DPV0协议 从站测试例程; 个人原创基于STM32单片机, 纯软件实现ProfibusDP_DPV0从站的功能。 2020年12月12日 温馨提示: 1.在UsartInit()初始化函数中,将Usart1Init(); 这一行调整到m_ProfibusDpPar....

    PLSQL Developer 11.0.0.1762 中文绿色注册版(免Oracle11g客户端)

    set oracle_home=%~dp0\instantclient_11_2 set TNS_ADMIN=%~dp0\instantclient_11_2 set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK set LANG=zh_CN.GBK start PLSQLDev.exe 作用:设置临时变量,启动plsql

Global site tag (gtag.js) - Google Analytics