批处理文件中%~dp0是什么意思?

#Linux内存管理# 用一个案例详细介绍ARMv7-A架构 缺页中断处理的原理 跳转到异常向量:根据 异常向量表基地址(通常配置在 VBAR 寄存器中,例如 0xFFFF0000) + 数据中止异常的偏移量 0x10,跳转到数据中止异常的处理程序入口点 0xFFFF0010(实践中,这个入口通常是一条跳转到更复杂处理函数的指令)。malloc 通常不会立即分配物理内存页,它只是在内核为该进程维护的虚拟地址空间中找到一段足够大的空闲虚拟地址区域(比如 0x00008000 - 0x00008FFF),标记为已用,并返回起始地址(例如 0x00008000)给程序。 阅读详情

        看批处理文件时,常遇到%~dp0之类的东西,不知其意思。打开Windows XP自带的帮助系统,搜索“batch”关键字,能找到有关介绍批处理文件的帮助。通过帮助我终于明白了%~dp0是什么意思,总结如下:

        我们知道,%*是用来指批处理文件传入的参数。例如%0表示命令本身,%1表示传入的第一个参数,以此类推。开发一个批处理命令,有时候需要知道这个命令的路径、传入参数的路径等这些与路径相关的信息。一般的编程语言会提供一些类库或者API来完成与路径相关的任务,例如.NET中提供了File类、Directory类和Path类来做这些事情。在批处理文件中,使用%~*来完成与路径相关的任务,语法规则可以表示如下:

                        %~(f|d|p|n|x|s|a|t|z|$PATH)*[0-9]

        先假定在F:\Temp\Batch目录下有一个test.bat批处理文件,这里执行的批处理命令行是:

                        F:\Temp>Batch\test   "C:\Program Files\studying.txt"

        上述的语法规则解释如下:

        1. %~[0-9]:是指去除了引号的命令行参数

                   %~0指命令行本身,本例为Batch\test 

                   %~1指第一个参数,本例为C:\Program Files\studying.txt
                    注:%1也指第一个参数,本例却为“C:\Program Files\studying.txt”,这里是有引号的。

                    以此类推......

        2.  %~f[0-9]:f - full,指绝对路径名

                  本例中:%~f0 - F:\Temp\Batch\test.bat

                                  %~f1 - C:\Program Files\studying.txt

        3. %~d[0-9]:d - driver,指盘符

                  本例中:%~d0 - F:

                                  %~d1 - C:

        4. %~p[0-9]:p - path,指不带盘符的目录名

                  本例中:%~p0 - \Temp\Batch\    注:前后都有'\'

                                  %~p1 - \Program Files\

        5. %~n[0-9]:n - name,指文件的名字,注意不带扩展名

                  本例中:%~n0 - test

                                  %~n1 - studying

        6. %~x[0-9]:x - extension,指文件的扩展名

                  本例中:%~x0 - .bat   注:前面有'.'

                                  %~x1 - .txt

        7. %~s[0-9]:s - short,指带有DOS短名字(8字符)的绝对路径

                  本例中:%~s0 - F:\TEMP\BATCH\test.bat  

                                  %~s1 - C:\PROGRA~1\studying.txt

                                  注:这里的目录名全是大写,而文件名全是小写

        8. %~a[0-9]:a - attribute,指文件的属性

                  本例中:%~a0 - --a-------  

                                  %~a1 - --a-------

                                  注:这里每一位代表一种文件属性,具体的含义我也不知道,待查

        9. %~t[0-9]:t - time,指文件的修改日期,注意不是创建日期

                  本例中:%~t0 - 2011-08-28 11:47  

                                  %~t1 - 2011-08-28 10:30

        10. %~z[0-9]:z - size,指文件的大小

        11. %~$PATH:[0-9]:PATH 指系统环境变量的那个PATH。搜索PATH里面的目录,看是否能够找到命令行参数指定的文件。找到此文件,输出该文件的绝对路径;没有找到此文件,输出空字符串。

        12. 组合使用:上述的这些字符规则是可以组合起来使用的。例如,n和x组合表示带扩展名的文件名名字。

                                  %~nx0 - test.bat

                                  %~nx1 - studying.txt


        回到标题给出的问题,我们可以推测出%~dp0表示的意思。d表示盘符,p表示不带盘符的路径,那么dp就表示带盘符的路径了。在本例中,我们可以得出:

                                   %~dp0 - F:\Temp\Batch\

Python爬虫实战:基于Scrapy和Playwright的深交所数据采集 本文将详细介绍如何使用Python最新技术栈(Scrapy框架结合Playwright浏览器自动化)爬取深圳证券交易所(www.szse.cn)的公开数据。文章包含完整项目搭建、反爬策略应对、数据解析存储等全流程实现,并附详细代码示例和性能优化建议。python复制下载# 上市公司基本信息# 财务数据revenue = scrapy.Field() # 营业收入net_profit = scrapy.Field() # 净利润eps = scrapy.Field() # 每股收益。 阅读详情

相关推荐

从d、q轴电流到电机性能:FOC控制中角度偏移的实战影响与调试策略

本文深入探讨了永磁同步电机FOC控制中d、q轴电流与角度偏移对电机性能的影响及调试策略。通过分析角度偏移导致的效率下降、电流异常等问题,提供了实用的四步调试法和参数优化技巧,帮助工程师有效提升电机控制精度和效率。

weixin_29264201的博客 293

批处理命令%~dp0详解

批处理命令%~dp0详解 批处理命令%~dp0是什么意思 拆分解析 %0:批处理文件本身 ~dp是变量扩充 d既是扩充到分区号 p就是扩充到路径 %~d0 - 仅将 %0扩充到一个驱动器号 %~p1 - 仅将 %0 扩充到一个路径 例子 假设一个批处理文件a.bat 存放在:F:\bat_test\a 内容为:rd /s /q %~dp0…\b\b_test\ 运行a.bat h后b_test 文件夹被删除 rd: 删除文件 /s 表示除目bai录本身外,还将删除指定du目录下的所有子目录和文件。用于删除

liulangdepugongying的博客 8289

【maxENT】从数据到地图:R语言实现最大熵物种分布建模全流程解析

本文详细解析了如何使用R语言实现最大熵模型(MaxEnt)进行物种分布建模的全流程。从数据准备、环境变量处理到模型训练与参数调优,再到模型评估与结果可视化,提供了实用的代码示例和避坑指南。特别适合生态学研究者利用最大熵模型处理物种分布数据,提升研究效率。

weixin_27244795的博客 215

BAT脚本中%~dp0(获取当前目录)

%~dp0 获取批处理文件的目录。

迎风悟极道的专栏 3万+

DTS 数据迁移

支持关系型数据库(MySQL, Oracle, SQL Server等)、NoSQL数据库、大数据系统等。DTS数据迁移是现代化数据架构调整和云迁移过程中的重要工具,能够大大降低数据迁移的复杂度和风险。DTS (Data Transmission Service) 是一种数据迁移和同步服务,:先迁移历史数据(全量),再实时同步新增变化(增量):不同数据库类型间迁移,如Oracle到MySQL。:将单库数据迁移到分库分表架构。:将业务数据迁移到分析型数据库。:将本地数据库迁移到云数据库。

qq_41081716的博客 749

利用ArcGIS的模型构建器实现批量投影栅格和批量克里金插值

博主要批量投影几百个栅格,但是ArcGIS中的投影栅格的批处理工具需要手动一条条设置参数,还是麻烦,因此学习了使用模型构建器(ModelBuilder)来批量投影栅格,可以导入需投影栅格的文件夹,然后迭代投影,并按栅格原名逐个输出到指定目录。 1.在工具箱里构建模型 在arctool box里右键点击空白处,选择【添加工具箱】,点击ArcGIS默认工作目录的工具箱进行添加,然后Toolbox就会被添加到ArcToolbox页面,右键点击Toolbox,选择“新建”-“模型” 2.编写模型 (1).

qq_36958801的博客 1万+

批处理中的“%~dp0”是什么意思?

批处理中的“%~dp0”是什么意思?

wangnaisheng的专栏 2672

EMS案例:BMS传导发射超标整改案例

BMS作为新能源汽车的关键部件,其EMC性能直接影响整车的安全性和可靠性。本文通过一个实际的传导发射整改案例,详细展示了从问题定位、分析到解决方案实施的全过程。希望这些经验能够为从事类似产品设计的工程师提供有价值的参考,在未来的产品开发中避免类似问题,设计出更加可靠、稳定的BMS产品。EMC设计是一门结合理论与实践的艺术,只有通过不断积累经验、深入理解电磁场理论,并紧密结合实际应用场景,才能在复杂的电磁环境中设计出鲁棒性强的电子产品。

m0_56451176的博客 272

dos批处理中%~dp0%的说明

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录 cd是转到这个目录,使用 /D 开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。 选项语法: ~0 - 删除任何引号("),扩充 %0 %~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件) %~d0 - 仅将 %0 扩充到一个驱动器号 %~p0 -

Crett 7534

MTK(基础篇)ROM烧录以及分区的作用

本文介绍了MTK芯片设备的刷机流程及关键分区功能。首先通过MTK烧录工具加载ROM文件(包括引导文件和分区表),重点解析了各分区的核心作用:preloader类似BIOS负责硬件初始化;lk作为二级引导程序加载内核;vbmeta验证系统完整性;boot包含Linux内核;dtbo调整硬件配置;modem管理通信功能;tee保护生物识别数据;system/vendor分别存放系统核心和硬件驱动。特别指出preloader、vbmeta等关键分区损坏会导致设备变砖,而recovery分区是重要的救砖入口。全文简

weixin_49303682的博客 443

yolov26改进 | Neck/颈部创新篇 | 独创HFPN利用分层特征融合块HFFB模块融合多层次特征改进yolov26(全网独家创新)

本文提出了一种创新的分层特征融合模块HFFB(Hierarchical Feature Fusion Block)来改进YOLOv26的neck部分,构建了名为HFPN的新型特征金字塔网络。该模块通过三分支结构融合局部特征(CNN提取)、全局特征(Swin Transformer提取)和中间特征,并包含空间注意力(SA)、通道注意力(CA)和残差反向MLP(IRMLP)等组件来优化特征融合效果。实验表明,该方法能针对不同尺度目标(大/中/小)进行自适应检测,可根据具体数据集需求选择不同配置。文章详细提供了核

Snu77的博客 483

cmd批处理命令~%dp0与~%dpn1的解析

1、最简单的做法是在cmd命令输入:for /?,回车,就能看到详细的解析 对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 ...

逍遥阁 1万+

【OD统一考试(B卷)】比赛的冠亚季军,Python 解答

比赛的规则是 0 号和 1 号比赛,2 号和 3 号比赛,以此类推,每一轮,相邻的运动员进行比赛,获胜的进入下一轮,实力值大的获胜,实力值相等的情况,id 小的情况下获胜,轮空的直接进入下一轮。第一轮比赛,id 为 0 实力值为 2 的运动员和 id 为 1 实力值为 3 的运动员比赛, 1 号胜出进入下一轮争夺冠亚军,id 为 2 的运动员和 id 为 3 的运动员比赛,3 号胜出进入下一轮争夺冠亚军;2 号与 0 号,比赛进行季军的争夺,2 号实力值为 4,0 号实力值 2,故 2 号胜出,得季军。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

DOS批处理中%~dp0表示什么意思

https://www.jianshu.com/p/5a1a882ead95 https://www.cnblogs.com/cnpirate/p/5282324.html https://www.cnblogs.com/langtianya/p/5171169.html ********************************************* 如果一个install.b...

weixin_30918415的博客 217

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

批处理 %~dp0是什么意思

cd /D %~dp0的意思如下: 更改当前目录为批处理本身的目录 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d %~dp0 在这里 cd /d %~dp0的意思就是cd /d d:\qq %0代表批处理本身 d:\qq\a.bat ~dp是变量扩充 d既是扩充到分区号 d: p就是扩充到路径 \qq dp就是扩充到分区号路径 d:\qq ...

积累点滴,保持自我 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

批处理 %~dp0

cd /D %~dp0的意思如下: 更改当前目录为批处理本身的目录 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d %~dp0 在这里 cd /d %~dp0的意思就是cd /d d:\qq %0代表批处理本身 d:\qq\a.bat ~dp是变量扩充 d既是扩充到分区号 d: p就是扩充到路径 \qq dp就是扩充到分区号路径 d:\qq 扩展阅读: %~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录 c...

tiging的博客 4493

windows下bat批处理中%cd%和%~dp0的区别

windows下bat批处理中%cd%和%~dp0的区别 :: =================================================================================== :: windows下bat批处理中%cd%和%~dp0的区别 :: 1. %cd% 可以用在批处理文件中,也可以用在命令行中; :: 展开后,是驱动器盘符:+当前目

菜鸟攻城狮 4万+

批处理中 %~d0 cd %~dp0 的含义

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录 选项语法: ~0 - 删除任何引号("),扩充 %0 %~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件) %~d0 - 仅将 %0 扩充到一个驱动器号 %~p0 - 仅将 %0 扩充到一个路径 %~n0 ...

达蒙奇的博客 6716

bat 批处理中的路径:%CD%与%~dp0

摘要: 本文详细解析Windows批处理脚本中的路径操作,重点对比%CD%(动态当前目录)与%~dp0(静态脚本路径)的核心差异。%CD%随工作目录改变而更新,适用于临时文件操作;%~dp0固定指向脚本位置,适合资源定位。通过代码示例展示两者特性,并提供路径拼接、日志系统等实用技巧。关键区别在于可变性、作用范围及使用场景,正确选择可提升脚本健壮性。附扩展知识(如%~f0等变量)和术语表,帮助开发者掌握批处理路径操作的精髓。

小猫三两只。 2813

bat批处理 %cd% 和 %~dp0

在DOS的批处理中,有两个环境变量跟当前路径有关,一个是%cd%,一个是%~dp0。 %cd% %cd%可以在批处理文件中使用,也可以在命令行中使用:展开后,是驱动器盘符:+当前目录,如: 在cmd窗口使用%cd%,结果如下: 在cmd窗口先进入D盘下的一个目录,再使用%cd%,结果如下: 可见%cd%的实际内容是可以被改变的 %~dp0 %~dp0只可以用在批处理文件中,是由它所在的批处理文件的目录位置决定的,是批处理文件所在盘符:+路径。在执行批处理文件的过程中,它的实际内容是不会

qq_27905767的博客 1894

DOS批处理中%~dp0的使用

批处理文件中%~dp0代表当前批处理文件的位置,这对于需要全路径的命令来说非常有用。 比如把c:\aaa目录下面的子目录bbb\xx.txt拷贝到子目录ccc\目录下,可以这样编写脚本 copy /Y %~dp0\bbb\xx.txt %~dp0\ccc\xx.txt 以下内容为转载内容。 转载自https://www.cnblogs.com/langtianya/p/5171169...

最快的脚步不是跨越,而是继续;最慢的步伐不是缓慢,而是徘徊! 1604

【转载】批处理 %~dp0是什么意思

批处理 %~dp0是什么意思 cd /D %~dp0的意思如下: 更改当前目录为批处理本身的目录 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d %~dp0 在这里 cd /d %~dp0的意思就是cd /d d:\qq %0代表批处理本身 d:\qq\a.bat ~dp是变量扩充 d既是扩充到分区号 d: p就是扩充到路径 \qq dp就是扩充到分区号路径 d:\q...

勤学如春起之苗,不见其增,日有所长! 辍学如磨刀之石,不见其损,日有所亏! 252

DOS批处理中%~dp0用法说明

DOS批处理中%~dp0表示什么意思   (注: %0 就是该 batch 文件的文件名) 这句的意思是  更改当前目录为批处理本身的目录  有些晕吧?不急,我举例  比如你有个批处理 a.bat 在 D:/qq 文件夹下   a.bat 内容为  cd /d %~dp0  在这里  cd /d %~dp0 的意思就是 cd /d d:/qq  %0 代表批处理本身 d:/q

xmlife的专栏 3403

批处理 cd /d “%~dp0“

批处理 切换到当前目录

Opithecus的博客 7764

批处理,%~d0 cd %~dp0 代表什么意思

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录cd是转到这个目录,不过我觉得cd /d %~dp0 还好些选项语法: ~0 - 删除任何引号("),扩充 %0 %~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件) %~d0 - 仅将 %0

wwwyan的专栏 3721
上一篇: 为什么浮点运算是对语言设计中平台无关性的挑战?
下一篇: Eclipse启动失败 - 在安装BlackBerry Java Plug-in for Eclipse v1.3之后
AI风
博客等级 码龄26年 25粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值