位置: 编程技术 - 正文

DOS批处理中%cd%与%~dp0的区别详解(dos批处理命令大全)

编辑:rootadmin

推荐整理分享DOS批处理中%cd%与%~dp0的区别详解(dos批处理命令大全),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:dos批处理实例,dos常用命令与批处理文件,dos批处理中执行bat,批处理 cd /d,dos批处理实例800例,dos 批处理,dos批处理中执行bat,dos批处理实例800例,内容如对您有帮助,希望把文章链接给更多的朋友!

问题描述

假设我们要在批处理a.bat里调用执行批处理b.bat,b.bat需要知道b.bat的当前位置,并执行run.exe,如下:

那么现在能不能成功执行run.exe呢?

问题分析

%cd%和%~dp0都能用来表示当前目录,但是他们在不同的使用场景下,功能却不相同:

%cd%代表的是当前工作目录(current working directory,variable); %~dp0代表的是当前批处理文件所在完整目录(the batch file's directory,fixed)。

我们来看看下面的例子:

直接运行d.bat,结果为

直接运行c.bat,结果为

从上面的结果可以看出:

执行d.bat时,当前工作目录为d.bat所在目录; 执行c.bat时,当前工作目录为c.bat所在目录,即使在调用d.bat后,该工作目录依旧是c.bat所在目录。DOS批处理中%cd%与%~dp0的区别详解(dos批处理命令大全)

问题解决

让我们再来看看问题描述中提及的问题——能不能成功执行run.exe呢?

答案是:不能。“ %cd%run.exe ”表示的是“ C:run.exe ”,并非“ C:programrun.exe ”。那么如何更改呢?

有两种方案:

问题延伸

上面的解决方案中plan A通过更改当前目录来解决该问题,可以这里面也存在另外一个问题,让我们看下面的例子:

现在e.bat和f.bat不在同一个盘符了,从e.bat切换当前工作目录到f.bat直接使用cd是不行的,必须要使用:

这个地方容易疏忽,切记不要犯错。

问题总结

我们来重申下%~dp0和%cd%的区别, %cd%和%~dp0都能用来表示当前目录,但是他们在不同的使用场景下,功能却不相同:

%cd%代表的是当前工作目录(current working directory,variable); %~dp0代表的是当前批处理文件所在完整目录(the batch file's directory,fixed)。

从目前我们的使用情况来看,尽量使用%~dp0,不建议使用%cd%,有其他需求除外。

总结

标签: dos批处理命令大全

本文链接地址:https://www.jiuchutong.com/biancheng/371630.html 转载请保留说明!

上一篇:通过拖曳获取文件信息的bat代码分享(拖曳对象时用的命令)

下一篇:dos命令行choice命令使用详解(dos命令/s)

  • 如何修改纳税申报密码
  • 个税免申报什么时候申报
  • 价外税怎么理解
  • 个体户无票收入对公司有影响吗
  • 发票章没盖在盖章处
  • 税务外管证取消了吗
  • 企业向个人借款合同模板
  • 外购货物自用会计处理
  • 并购产生的商誉怎么冲减
  • 固定资产清理在财务报表哪里体现
  • 并购对利润的影响
  • 个人独资企业税率表2023最新
  • 商业折扣如何开票
  • 分支机构的固定资产转移如何处理?
  • 营改增租赁服务有哪些
  • 投资收益所得税税前扣除
  • 物业代收水电费,业主不交怎么办
  • 小规模纳税人少计提的工资怎么办
  • 有限责任公司自然人独资可以增加股东吗
  • 外商企业需要交企业所得税吗
  • 企业预算报表如何做
  • 商业现金折扣计算
  • 银行承兑汇票怎么取钱
  • 技术转让所得减半征收企业所得税
  • 收到的劳务费发票可以抵扣吗
  • 华为鸿蒙双击背面打开健康码
  • 政府补助调增还是调减
  • 增值税税负率多少为正常
  • 股东个人财产转让流程
  • 成品油零售加油站增值税规定
  • cpu的保养有哪些
  • 周转材料要计入增值税吗
  • 在建工程账务核算方法
  • 享受安置残疾人优惠政策的报告怎么写
  • 辅料分配方法
  • 通往萨卡洛布拉的火车
  • laravel框架用到哪些设计模式
  • 微信接口开发平台
  • thinkphp django
  • php动态生成网页
  • python怎样学
  • php面试题目100及最佳答案
  • 固定资产清理如何申报增值税
  • 住宿费发票可以开专票吗
  • phpcms技术
  • 代扣代缴手续费返还账务处理
  • 小微企业认定办法
  • 汽油费入什么会计分录
  • 高新企业申报条件有哪些
  • sql无法运行
  • 疫情捐款可以抵扣增值税吗
  • 计提费用账务处理
  • 哪些支出可以在出国公杂费中扣除
  • 企业收到的政府补助属于
  • 应付账款一直挂着,怎么消掉
  • 取得房租发票的租赁费可以抵税吗
  • win7小技巧
  • 服务器找不到存储盘
  • linux防御
  • winxp如何删除网卡驱动
  • mac怎么更换用户名和密码
  • 苹果Mac OS X 10.13系统怎么调整设置窗口透明度?
  • centos怎么安装
  • win7怎样禁用无线网络连接
  • win8.1自动更新
  • docker如何部署环境到生产
  • unicode 字符百科
  • 英语中our和my的区别
  • bootstrap3中container与container_fluid外层容器的区别讲解
  • nodejs后端教程
  • linux shell中 if else以及大于、小于、等于逻辑表达式介绍
  • 教你用纸折一只会跳的小兔子,非常好玩,小朋友都喜欢
  • if条件程序
  • android重写方法
  • 请问木瓜
  • Android中的布局有哪些
  • 西安12345官网登录入口二维码
  • 绿牌电动车需要过户吗?
  • 职称评定专业一览表
  • 中俄改订条约收回哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设