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

批处理文件中%~dp0是什么意思?看批处理文件时,常遇到%~dp0之类的东西,不知其意思。打开WindowsXP自带的帮助系统,搜索“batch”关键字,能找到有关介绍批处理文件的帮助。通过帮助我终于明白了%~dp0是什么意思,总结如下:    我们知道,%*是用来指批处理文件传入的参数。例如%0表

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        看批处理文件时,常遇到%~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\

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193233.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月29日 下午3:15
下一篇 2025年11月29日 下午3:43


相关推荐

  • Openclaw实战

    Openclaw实战

    2026年3月13日
    2
  • wake on wlan无线唤醒_睡眠后重启才能连接WiFi

    wake on wlan无线唤醒_睡眠后重启才能连接WiFi(1)添加头文件:       #include “core.h”      在core.h文件中有:       #ifdef CONFIG_HAS_EARLYSUSPEND             #include        #endif (2)在wifi驱动ath6kl结构体中添加early_suspend结构:        #ifdef CO

    2026年1月15日
    5
  • 解决NVIDIA显卡驱动 图形驱动程序安装失败 问题

    解决NVIDIA显卡驱动 图形驱动程序安装失败 问题本教程是在当你尝试一般的教程都无法解决问题的前提下使用,比如使用DDU工具卸载原显卡驱动后重新安装无效,找不到独立显卡的情况。退出火绒等杀毒软件win+R输入services.msc进入服务。将WindowsUpdata启动类型改为自动,并启动服务。win+R输入gpedit.msc进入本地策略编辑器。在计算机配置-模板管理-系统-设备安装-设备安装限制中双击图中第三个将其改为未配置或禁用重新安装显卡驱动即可…

    2022年5月6日
    845
  • ❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!❤️

    ❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!金九银十已经来了,挺近大厂最好的机会已经来了!如果你是要找工作的,一定要抓住这个机会!前面已经整理了很多的面试资料:1,❤️爆肝!整理了一周的Spring面试大全【含答案】,吊打Java面试官【建议收藏】!❤️2,❤️肝完了,一天掌握数据结构和算法面试题,吊打面试官,建议收藏❤️3,❤️集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解!面试再不怕集合问题了!!!❤️4,肝完了,总结了SpringBoot与缓存的知识点,快速掌

    2022年6月10日
    27
  • 别怕,“卷积“其实很简单

    别怕,“卷积“其实很简单我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~前言相信很多时候,当我们在…

    2022年6月10日
    35
  • Ubuntu 更改 root 密码

    Ubuntu 更改 root 密码Ubuntu 更改 root 用户密码就是这么简单

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号