源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

DOS批处理中%~dp0等扩充变量语法详解

  • 时间:2022-07-02 19:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:DOS批处理中%~dp0等扩充变量语法详解
有时候我们看到别人使用%~dp0 ~是扩展的意思,相当于把一个相对路径转换绝对路径 %0代指批处理文件自身 %1表示批处理文件命令行接收到的第一个参数,%2表示第二个,以此类推 %~d0 是指批处理所在的盘符,其中d代表drive %~p0 是指批处理所在的目录,其中p代表path %~dp0 是批处理所在的盘符加路径 cd %~dp0 就是进入批处理所在目录了 详细解释还可参考命令 call /? [b]DOS批处理中%~dp0表示什么意思[/b] (注: %0 就是该 batch 文件的文件名) 这句的意思是 更改当前目录为批处理本身的目录 有些晕吧?不急,我举例 比如你有个批处理 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 [b]扩充变量语法详解:[/b] :: 选项语法 : :: ~I - 删除任何引号 (") ,扩充 %I :: %~fI - 将 %I 扩充到一个完全合格的路径名 :: %~dI - 仅将 %I 扩充到一个驱动器号 :: %~pI - 仅将 %I 扩充到一个路径 :: %~nI - 仅将 %I 扩充到一个文件名 :: %~xI - 仅将 %I 扩充到一个文件扩展名 :: %~sI - 扩充的路径只含有短名 :: %~aI - 将 %I 扩充到文件的文件属性 :: %~tI - 将 %I 扩充到文件的日期 / 时间 :: %~zI - 将 %I 扩充到文件的大小 :: %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充 :: 到找到的第一个完全合格的名称。如果环境变量名 :: 未被定义,或者没有找到文件,此组合键会扩充到 :: 空字符串 :: 可以组合修饰符来得到多重结果 : :: %~dpI - 仅将 %I 扩充到一个驱动器号和路径 :: %~nxI - 仅将 %I 扩充到一个文件名和扩展名 :: %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名 :: %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充 :: 到找到的第一个驱动器号和路径。 :: %~ftzaI - 将 %I 扩充到类似输出线路的 DIR [b]下面是实例解析:[/b] 如果一个install.bat文件位于D:\jeesite\bin 文件内容如下:
@echo off
echo [INFO] This is a demo.
echo [INFO] %~dp0
pause
运行install.bat,命令行输出如下
[INFO] This is a demo.
[INFO] D:\jeesite\bin\
即: %0代表文件本身 d代表盘符 p代表路径 扩展的选项还包括: %~f0 - 完整的路径+文件名 [code][INFO] D:\jeesite\bin\install.bat[/code] [code]%~n0[/code] - 文件名(无扩展名) [INFO] install [code]%~x0 [/code]- 文件扩展名 [INFO] .bat %~s0 - 扩充的路径只含有短名(“s”为Short,短的) %~a0 - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性) %~t0 - 将 %0 扩充到文件的日期/时间(“t”time) %~z0 - 将 %0 扩充到文件的大小(Size 大小) 等等
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部