惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Stack Overflow Blog
Stack Overflow Blog
人人都是产品经理
人人都是产品经理
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
博客园 - 司徒正美
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog

博客园 - 利刃

命令行访问https(转载,略有改动) 转载:指定浏览器打开指定的网页 返流性食管炎的治疗 ldap 导出、导入ldif数据 跨表批量查找匹配数据-转载(略有改动) 转载:通过yum查找并安装包 转载:双网卡添加默认路由,实现内外网同时访问 bandwagonhost.com (搬瓦工)机房网速比较 - 利刃 sftp无法连接问题 转载:Shell 脚本加密 - 略有修改 java ssl 连接AD域 sap快捷登录 转载(略有修改):Windows 8的承载网络设置方法(w8 创建无线网络/ap) 转载:Keytool 工具介绍 minecraft初探 linux图像界面连接-xdm 经典的始终经典(牛蛙) vmware install win8 and server2012 problem windows硬盘优化篇
转载:dos批处理中路径获取
利刃 · 2016-06-13 · via 博客园 - 利刃

在DOS的批处理中,有时候需要知道当前的路径。

在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。
 

    这两个变量的用法和代表的内容是不同的。
 

  1. %cd% 可以用在批处理文件中,也可以用在命令行中;

展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面,输入:echo %cd% ,则显示为:c:\dir 。

%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。

  2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,

是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,

它展开后的内容是不可以改变的。

%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录
cd是转到这个目录,不过我觉得cd /d %~dp0 还好些

选项语法:

~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个