cmd批处理命令~%dp0与~%dpn1的解析

cmd批处理命令~%dp0与~%dpn1的解析1、最简单的做法是在cmd命令输入:for/?,回车,就能看到详细的解析对一组文件中的每一个文件执行某个特定命令。FOR%variableIN(set)DOcommand[command-parameters]%variable指定一个单一字母可替换的参数。(set)指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。…

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

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

1、最简单的做法是在cmd命令输入:for /?,回车,就能看到详细的解析

对一组文件中的每一个文件执行某个特定命令。

FOR %variable IN (set) DO command [command-parameters]

%variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command
指定对每个文件执行的命令。 command-parameters
为特定命令指定参数或命令行开关。

在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i
不同于 %I.

如果启用命令扩展,则会支持下列 FOR 命令的其他格式:

FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command
[command-parameters]

检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-parameters]

该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)

FOR /F [“options”] %variable IN (file-set) DO command
[command-parameters] FOR /F [“options”] %variable IN (“string”) DO
command [command-parameters] FOR /F [“options”] %variable IN
(‘command’) DO command [command-parameters]

或者,如果有 usebackq 选项:

FOR /F [“options”] %variable IN (file-set) DO command
[command-parameters] FOR /F [“options”] %variable IN (“string”) DO
command [command-parameters] FOR /F [“options”] %variable IN
(‘command’) DO command [command-parameters]

fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前,
每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,
然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。
以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。
您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个
或多个指定不同解析选项的关键字。这些关键字为:

    eol=c           - 指一个行注释字符的结尾(就一个)

当然,也可以看到国外学者的解释:
在这里插入图片描述
我们写个名字为a.bat的bat脚本看看效果:

@echo off
set BAT_DIR=%~dp0

set DEST_BASE=%~dpn1
set DEST_BASE1=%~p1
set DEST_BASE2=%~n1
set DEST_BASE3=%~s1
set DEST_BASE4=%~nx1
set DEST_BASE5=%~f1
set DEST_BASE6=%~dp1

echo ~p1 = %DEST_BASE1%
echo ~s1 = %DEST_BASE3%
echo ~n1 = %DEST_BASE2%
echo ~nx1 = %DEST_BASE4%
echo ~dp1 = %DEST_BASE6%
echo ~dpn1 = %DEST_BASE%
echo ~f1 = %DEST_BASE5%

输入为:a.bat C:\Users\Administrator.USER-20190314HO\Desktop\vivo-obfuscated-1.6.15.jar
输出结果为:

在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java下载安装与环境配置

    Java下载安装与环境配置Java的下载安装与环境变量配置,版本为win10+Java1.8。

    2022年6月14日
    27
  • Git客户端下载及安装

    Git客户端下载及安装Git客户端的下载及安装过程

    2022年5月13日
    71
  • centos7安装python3.6_centos7一键安装python3

    centos7安装python3.6_centos7一键安装python3centos7安装Python3安装Python3安装Python31.安装wget(如已经存在,忽略此步)yum-yinstallwget2.下载python3源码包wgethttps://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz3.下载python3编译的依赖包yuminstall-ygccpatchlibffi-develpython-develzlib-develbzip2-develope

    2022年9月24日
    2
  • 《数据仓库与数据挖掘教程》ch01绪论 章节整理

    《数据仓库与数据挖掘教程》ch01绪论 章节整理数据仓库概述从传统数据库到数据仓库计算机数据处理有两种主要方式事务型处理分析型处理传统数据库与事务处理传统数据库是长期存储在计算机内的、有组织的、可共享的数据集合有严格的数学理论支持,并在商业领域得到普及应用。联机事务处理(On-LineTransactionProcessing)系统,简称OLTP系统。数据存储在传统数据库中,成为OLTP数据库处理特点:实时响应,数…

    2022年6月17日
    20
  • Shiro框架基本知识及应用「建议收藏」

    Shiro框架基本知识及应用「建议收藏」1.Shiro基本知识1.目前市面主流的安全框架:shiro:轻量级的,使用很方便,灵活,是apache提供的,在任何框架的SpringSecurity:是Spring家族的一部分,很多项目中会使用spring全家桶,相对与shiro来说,springSecurity更重量级,必须要求spring环境;相对shiro而言,功能更强大2.什么是Shiro?Shiro是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证、权限授权、加密、会话管理等功

    2025年10月8日
    3
  • the jdbc driver has been_the tomcat connector configured

    the jdbc driver has been_the tomcat connector configured使用JDBC连接MySql时出现:Theservertimezonevalue’�й���׼ʱ��’isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viatheserverTimezoneconfiguration…

    2022年8月30日
    2

发表回复

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

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