zoukankan      html  css  js  c++  java
  • %cd%与%~dp0

    浅谈批处理中的%cd%与%~dp0

    分类: 点滴积累 2364人阅读 评论(0) 收藏 举报

    这两个变量都是用来表示当前目录,可使用时却大不相同,记录下

    %cd%代表的是执行文件的当前目录,强调bat是在哪里启动的;->盘符展开后是可改变的

    %~dp0代表的是bat文件所在的文件目录,强调bat的文件位置     ->盘符展开后是不可改变的

    我们举个例子来说明会更直观些

    我在桌面新建一个文件夹,里面创建一份bbb.bat文件,文件内容为

    @echo off

    echo cd = %cd%
    echo dp0 = %~dp0

    pause

    exit
    echo

    然后在桌面创建一份aaa.bat文件,文件内容为

    start "" "%cd%新建文件夹bb.bat"

    好,文件创建完毕,我们来看执行情况,分两种情况执行:

    1、直接双击运行bbb.bat,我们看到

    此时的cd与dp0指向是一样的,因为在新建文件夹启动,所以启动路径与文件所在目录一样

    2、双击桌面的aaa.bat,我们看到

    因为我们是通过在桌面的aaa.bat文件启动,所以此时的启动路径就指向了桌面,dp0还是与第一种情况一样

    通过这两种情况,我们可以很明显看到cd可以不一样(取决于在哪里启动),但dp0都是一样的(不可改变)

    若想知道%~dp0具体是什么意思,可参考

  • 相关阅读:
    Linux查看系统信息
    pgrep 和 pkill 使用小记
    linux下json库的编译及例程
    Epoll 实例
    gcc中的内嵌汇编语言
    BZOJ 1053: [HAOI2007]反素数ant
    2018.7.15模拟赛
    BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊
    BZOJ 4241: 历史研究
    LUOGU P2365 任务安排
  • 原文地址:https://www.cnblogs.com/cheng07045406/p/3714288.html
Copyright © 2011-2022 走看看