首页 > 其他分享 >dos批处理中%~dp0%的说明

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

时间:2023-03-30 17:34:08浏览次数:48  
标签:文件 批处理 路径 dp0% PATH dos 驱动器 扩充

原文:(49条消息) dos批处理中%~dp0%的说明_批处理 %~dp0 后面的文本_Crett的博客-CSDN博客

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录
cd是转到这个目录,使用 /D 开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。


选项语法:
~0 - 删除任何引号("),扩充 %0
%~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)
%~d0 - 仅将 %0 扩充到一个驱动器号
%~p0 - 仅将 %0 扩充到一个路径
%~n0 - 仅将 %0 扩充到一个文件名(“n”是name 文件名)
%~x0 - 仅将 %0 扩充到一个文件扩展名
%~s0 - 扩充的路径只含有短名(“s”为Short,短的)
%~a0 - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性)
%~t0 - 将 %0 扩充到文件的日期/时间(“t”time)
%~z0 - 将 %0 扩充到文件的大小(Size 大小)
%~$PATH:0 - 查找列在路径环境变量的目录,并将 %0 扩充
到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串

可以组合修饰符来得到多重结果:

%~dp0 - 仅将 %0 扩充到一个驱动器号和路径
%~nx0 - 仅将 %0 扩充到一个文件名和扩展名
%~fs0 - 仅将 %0 扩充到一个带有短名的完整路径名
%~dp$PATH:0 - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftza0 - 将 %0 扩充到类似输出线路的 DIR

%0为当前批处理文件
如果0换成1为第一个文件,2为第2个

例如:

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

另:

详细请参考call /?

D:/Documents and Settings/test>call /?
从批处理程序调用另一个批处理程序。

CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批处理程序所需的命令行信息。

如果命令扩展名被启用,CALL 会如下改变:

CALL 命令现在将卷标当作 CALL 的目标接受。语法是:

CALL:label arguments

一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通过达到批脚本文件末两次来 "exit" 两次。
第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。键入 GOTO /?,参看 GOTO : EOF 扩展名的描述,此描述允许您从一个批脚本返回。

另外,批脚本文本参数参照(%0、%1、等等)已如下改变:


批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)

批参数(%n)的替代已被增强。您可以使用以下语法:

%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径指含有短名
%~a1 - 将 %1 扩充到文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小
%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串

可以组合修定符来取得多重结果:

%~dp1 - 只将 %1 扩展到驱动器号和路径
%~nx1 - 只将 %1 扩展到文件名和扩展名
%~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。
%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。

在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*使用

标签:文件,批处理,路径,dp0%,PATH,dos,驱动器,扩充
From: https://www.cnblogs.com/bruce1992/p/17273659.html

相关文章

  • 简单的Dos命令
    打开CMD的方式开始+Windows系统+命令提示符Win键+R输入cmd在任意文件夹下,按住shift+鼠标右击,在此处打开PowerShell窗口资源管理器的地址栏前面加上cmd路径......
  • linux和windows下换行符引起的报错——dos2unix转换
    有时候由于有的代码太长,显示的时候看着很不舒服,所以在编写的时候会加上\再换行,这个是转义字符(转义字符还是编译字符??我对这个不是很了解。。。),到时候会把换行符给变成空格(我......
  • 【bat批处理脚本命令】bat脚本命令的基本使用(保姆级图文+实现代码)
    bat批处理脚本的基本使用(图文并茂)bat脚本命令的注释bat脚本命令的换行bat脚本命令的if判断1.bat脚本命令的注释作为高端程序员,不写注释不是好习惯,先学如何写注释写......
  • 常用的Dos命令
    基本的Dos命令打开开始菜单,系统文件夹,打开命令提示符(右键用管理员身份打开可以获得更高权限)win加R键,打开控制中心,搜索cmd选择一个文件夹,按住shift右键文件夹选择......
  • C#快捷编译并发布的批处理脚本
    发布批处理发布批处理::生成新的版本setyear=%date:~2,2%setmonth=%date:~5,2%setday=%date:~8,2%setVERSION=%year%%month%%day%setNEWVERSION=1.0.0.%VERS......
  • Dos命令
    Dos命令开启Dos控制台的几种方式打开cmd的方式开始+系统附件+命令提示符win键+r键输入cmd打开控制台(推荐使用)在任意的文件夹下面,按住shift键+鼠标右键点击,在......
  • windows系统DOS窗口刷新网络
    win+Rcmd回车释放指定适配器的IPv4地址ipconfig/release释放指定适配器的IPv6地址ipconfig/release6更新指定适配器的IPv4地址ipconfig/renew更新指......
  • bat/cmd批处理程序设计教程
    序言这是一篇技术教程,我真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。我写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如......
  • 执行tsc -v命令后报错‘tsc‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
    //tsc-v这个命令主要是查看typescript编译器的版本号的,//也可以用于检查typescript是否安装好了?是否正常?如果没有安装的话,就去安装npmlstypescript//查看......
  • Windows的Dos命令学习
    DOS命令学习一、打开cmd方式1、开始+系统+命令提示符2、win+R+输入cmd打开控制台(推荐使用)3、在任意文件夹下,按住shift键+鼠标右键点击,在此处打开命令行窗口4、在资源......