位置: 编程技术 - 正文

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)

  • 商会费用会计分录
  • 外币实收资本入账汇率
  • 异地预缴税款怎么抵扣
  • 已付款收不到发票怎么办
  • 企业所得税汇算清缴账务处理
  • 税收完税证明分为几种
  • 预计销售退回的钱怎么算
  • 企业所得税跨期费用的相关规定
  • 摊销土地使用权和专利权会计分录怎么写
  • 转出未交增值税借方余额怎么处理
  • 单位买另一单位银行承兑汇怎样入账?
  • 用银行本票结算材料货款
  • 发给一个人的说说
  • 企业间借贷利息如何入账
  • 个人所得税必须得交吗
  • 劳务公司注销了,未出的款怎么走账
  • 税收六项减免
  • 债券折价摊销属于借款费用吗
  • 行政单位对固定资产购买保险
  • 本月负数发票大于正数发票 留抵的增值税怎么做账
  • 处置交易性金融资产的交易费用计入
  • 营业收入现金怎么计算
  • 固定资产报废鉴定意见
  • 基建项目类型填什么
  • 怎么免费获取百度文库的付费文档
  • 电脑怎么一键返回到桌面
  • 车辆保险费计入车辆的入账成本吗
  • 计提本月短期借款利息1000元
  • php汉字转拼音代码
  • 向境外股东分配利润怎么交税
  • Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例
  • framework启动
  • oauth2 sso单点登录
  • 违约金开什么票据
  • 小规模单位没交五险一金
  • unity怎么打包unitypackage
  • 推荐几个比较好用的
  • 未分配利润为负数严重吗
  • 应付工资怎么记账
  • 织梦文章标题显示不全
  • 民办非企业免税政策
  • 公司首次申报个人所得税
  • 当月进项发票忘认证又开了销项税额怎么办
  • 抵扣以前年度进项税
  • 中级会计考试时间
  • 零税率应税服务出口退税
  • 其它应付款是否可以抵扣
  • 经营租赁的房屋计提折旧吗
  • 收银系统入库入错了怎么办
  • 政府专款专用
  • 股东出资转为借款
  • 小规模纳税人企业所得税税率
  • 印花税减免额不能为零怎么填
  • 职工教育经费中的职工培训费用可以全额扣除吗
  • 企业申请支付宝账号步骤
  • 研发支出是科目吗
  • 新会计准则会计科目明细表
  • 物业公司代业主委员会收公共收益怎么开发票
  • 分支机构需要单独设立账簿吗
  • MySQL通过触发器解决数据库中表的行数限制详解及实例
  • 数据库 mysql
  • ubuntu 12.04安装
  • linux查看du
  • 如何清理注册表的垃圾文件
  • rhel6.5安装教程
  • win7如何录制电脑屏幕
  • WIN10安装介质不识别硬盘
  • win10 win+l
  • linux 日历
  • css里注释
  • python简单加密
  • python 二分查找函数
  • unity3d移动代码
  • 个体工商户年报补报流程
  • 投资性房地产如何进行后续计量
  • 铁岭医保网上怎么交费
  • 五险一金不满一年可以领失业金吗
  • 纳税服务投诉工作要求
  • 税务局取消办税人员
  • 上海电子税务平台开票不含税怎么改成含税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设