bat脚本中%~dp0含义解释
在Windows脚本中,%i类似于shell脚本中的$i,%0表示脚本本身,%1表示脚本的第一个参数,以此类推到%9,在%和i之间可以有“修饰符”(完整列表可通过"for /?"指令查看),表示对%i进行各种处理,其中d表示盘符,p表示除盘符外的路径,n表示文件名,x表示扩展名,f表示全路径(路径+文件名),s表示8.3格式的全路径,修饰符可以组合,所以%~dp0的意思是:脚本本身(%0)的路径(盘符d+路径p)。下面是实例演示,在F:\ghost\tmpFiles\下新建aa.bat文件,内容如下:
@echo off
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%~0 = %~0
echo %%~1 = %~1
echo %%~2 = %~2
echo %%~d0 = %~d0
echo %%~p0 = %~p0
echo %%~dp0 = %~dp0
echo %%~n0 = %~n0
echo %%~x0 = %~x0
echo %%~nx0 = %~nx0
echo %%~f0 = %~f0
echo %%~s0 = %~s0
echo %%~fs0 = %~fs0
echo %%~dp1 = %~dp1
echo %%~nx1 = %~nx1
echo %%~fs1 = %~fs1
echo %%~dp2 = %~dp2
echo %%~nx2 = %~nx2
echo %%~f2 = %~f2
echo %%~s2 = %~s2
echo %%~fs2 = %~fs2
然后加两个附加参数运行这个文件: "aa.bat f:\CMDTest.zip f:\warez\Develop\C\codeblocks-12.11mingw-setup.zip",运行结果如下:
%0 = aa.bat
%1 = f:\CMDTest.zip
%2 = f:\warez\Develop\C\codeblocks-12.11mingw-setup.zip
%~0 = aa.bat
%~1 = f:\CMDTest.zip
%~2 = f:\warez\Develop\C\codeblocks-12.11mingw-setup.zip
%~d0 = F:
%~p0 = \ghost\tmpFiles\
%~dp0 = F:\ghost\tmpFiles\
%~n0 = aa
%~x0 = .bat
%~nx0 = aa.bat
%~f0 = F:\ghost\tmpFiles\aa.bat
%~s0 = F:\ghost\tmpFiles\aa.bat
%~fs0 = F:\ghost\tmpFiles\aa.bat
%~dp1 = f:\
%~nx1 = CMDTest.zip
%~fs1 = f:\CMDTest.zip
%~dp2 = f:\warez\Develop\C\
%~nx2 = codeblocks-12.11mingw-setup.zip
%~f2 = f:\warez\Develop\C\codeblocks-12.11mingw-setup.zip
%~s2 = f:\warez\Develop\C\CODEBL~1.ZIP
%~fs2 = f:\warez\Develop\C\CODEBL~1.ZIP
参考What does %~dp0 mean, and how does it work?
bat脚本中%~dp0含义解释的更多相关文章
- 关于bat脚本中的命令状态码相关的%errorlevel%变量
bat脚本中常用%errorlevel%表达上一条命令的返回值,即命令执行状态码.也称命令退出码 一般上一条命令的执行结果返回的值只有两种,0和非0 (如常见的1,2,4,5,9009等等),0一般会 ...
- 脚本中 %~dp0
cmd窗口中 for /? 查询参数含义 %~dp0, 将参数转换为磁盘路径+名字 例: 脚本中一行 %~dp0abc.exe (abc.exe位置c:\test\abc.exe) 展开后则为 c:\ ...
- Windows的bat脚本中for循环
转载至 http://123304258.blog.163.com/blog/static/12354702012621103256608/ [删除目录下某种格式的文件 ] for /r f:\ ...
- 推荐一个SAM文件或者bam文件中flag含义解释工具
SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这样的文件.samtools网站上有专门的文档介绍SAM文件.具体地址:http://samtools. ...
- 推荐一个SAM文件中flag含义解释工具--转载
SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这样的文件.samtools网站上有专门的文档介绍SAM文件.具体地址:http://samtools. ...
- 31、SAM文件中flag含义解释工具--转载
转载:http://www.cnblogs.com/nkwy2012/p/6362996.html SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这 ...
- 【转】在cmd/bat脚本中获取当前脚本文件所在目录
一.关于cd的/d参数 关于cd 的/d参数,在cmd中敲入cd /?可以看到/d参数的解释如下: 使用 /D 命令行开关,除了改变驱动器的当前目录之外,还可改变当前驱动器.这句话不太好理解,我做个试 ...
- 解决Bat脚本中包含中文,运行乱码
bat文件右键用“编辑” 打开, 另存为时,UTF-8保存为ANSI 格式.即可解决运行时乱码问题.
- 如何解决Bat脚本中包含中文,运行乱码
bat文件右键用“ 编辑” 打开, 另存为时,UTF-8保存为ANSI 格式.即可解决运行是乱码问题, 有notepad++更好 修改直接保存,也不用另存为.
随机推荐
- Java并发之ReentrantReadWriteLock源码解析(二)
先前,笔者和大家一起了解了ReentrantReadWriteLock的写锁实现,其实写锁本身实现的逻辑很少,基本上还是复用AQS内部的等待队列思想.下面,我们来看看ReentrantReadWrit ...
- 4.3Unicode和ASCII码
- SpringBoot缓存管理(二) 整合Redis缓存实现
SpringBoot支持的缓存组件 在SpringBoot中,数据的缓存管理存储依赖于Spring框架中cache相关的org.springframework.cache.Cache和org.spri ...
- hadoop安装前的准备
1.操作系统安装 2.hostname设定 3.hosts文件设定 4.ssh免密码登录 5.NTP时间同步设定 6.iptables永久关闭 7.selinux永久关闭
- 深度解析HashMap底层实现架构
摘要:分析Map接口的详细使用以及HashMap的底层是如何实现的? 本文分享自华为云社区<[图文并茂]深度解析HashMap高频面试及底层实现结构![奔跑吧!JAVA]>,原文作者:灰小 ...
- Python单元测试框架unittest之深入学习
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...
- python使用笔记21--发邮件
发邮件需要第三方模块 pip install yamail 1 #import yagmail #--别人写的,发中文附件的时候是乱码 2 import yamail #牛牛基于yagmail改的 3 ...
- python使用笔记15--操作Excel
python操作Excel需要引入第三方模块 执行以下命令: pip install xlwt pip install xlrd pip install xlutils 1.写Excel 1 impo ...
- python 动态指定header获取网页源代码的函数
import random import requests def get_htmla(url): aui=0 while aui==0: try: header={'User-Agent':'Moz ...
- 2021 MySQL安装教程(最新教程)- 含网盘下载
大家好,我是 我玩亚索我会C.最近电脑重装系统了,然后就想着装个MySQL,由于很久没装过了,于是上网搜索了教程,但是发现现在MySQL安装和之前的不一样了,网上都是旧版的安装教程,所以我就做一篇新版 ...