位置: 编程技术 - 正文

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)

  • 劳务公司的税率一般是多少
  • 堤防是啥
  • 年初结转增值税社保如何做账
  • 外贸企业申报退税流程
  • 已经作为损失的资产以后纳税年度收回的会计处理
  • 分公司注销后账户不注销可以吗
  • 工伤私了赔偿
  • 享受专项附加扣除该怎么申报
  • 公司租用个人房屋如何记账
  • 可供出售金融资产是指什么
  • 购入设备发生的运输费计入什么科目
  • 合同解除收取对方的违约金交什么税
  • 公司收承兑贴现的会计分录
  • 建设单位对施工单位的管理要求
  • 劳动合同解除和终止的经济补偿
  • 证券投资基金管理办法
  • 企业申请资产损失需要提供哪些确认证据?
  • 建筑业异地预缴税款怎么抵扣
  • 没有道路许可证的车子怎么处罚
  • 住房公积金管理官网
  • 一般纳税人增值税申报操作流程
  • 不动产测绘费谁交
  • 企业计提的安全生产费用年末应如何处理
  • 跨年多计提折旧的账务处理
  • 净利润与毛利润那个会大一点
  • 合同资产和工程存货的区别
  • 政府专项拨款账务处理
  • 控股子公司利润并表
  • macos big sur最新版本
  • 如何做好财务工作发言
  • 外汇账户怎么开
  • 成本核算怎么做账
  • win8操作系统
  • 押金少退侵犯了哪条法律
  • springboot集成camunda+bpmn
  • ps命令不可用
  • 春天里的____作文
  • 工程结算需要哪些施工方案
  • 工商年检需准备什么资料
  • 建设项目的设计阶段分为
  • 个体工商户加盟咖啡店
  • 君子兰的养殖方法
  • php转换字符编码
  • 购买商品或服务赠品法律地位
  • 劳务公司给包工头打款备注写什么
  • window.location.href返回值
  • mit?
  • 帝国cms移动端
  • 发票整理归类汇总流程
  • 网络费用属于什么费用
  • 对公账号可以绑定微信提现吗
  • python中如何创建一个新文件
  • 文化事业建设费税收优惠2023
  • 现金流量表年报本期金额和上期金额
  • 代扣代缴增值税如何申报抵扣
  • 行政单位怎样核销坏账
  • 多提税金的具体分录
  • 公司成立前的费用发票可以入账吗
  • 工程施工人工费,材料费,机械费占多少比例
  • 私人网银可以转账吗
  • 选择mysql数据库为当前数据库
  • sql server数据库监控
  • sql语句中having是什么意思
  • sql指定字段添加数据
  • linux下nanosleep() & sleep()的区别
  • window10软件搜索
  • win10关机快捷键
  • windows10离线地图
  • 如何删除win7系统自带游戏软件
  • linux系统的配置
  • Win10系统中怎么将文件夹进行压缩
  • 举例说明如何为教学搭建支架
  • shell脚本 if -e
  • vue复用node_module
  • 一个简单的shell脚本
  • listview提高效率
  • Genymotion首次运行程序出现错误Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
  • javascript代码生成器
  • js按下回车键时提交
  • 详解Python中的Descriptor描述符类
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设