Windows cmd bat之特殊符号及变量

cmd 常用变量

bat批处理常用命令

%1~%9表示拖入文件(%0以外的输入文件),%0表示批处理文件本身  

%0~%1字母意思基本相同,不区分大小写

::打印当前窗口地址

echo “%cd%”


%0                                获取当前文件路径  

%~d0                            获取当前盘符    

%~dp0                          获取当前盘符和路径    

%~f0                              获取当前批处理全路径    

%~sdp0                        获取当前盘符和路径的短文件名格式    

%~nx0                           获取当前文件文件名及后缀名  

%~n0                             获取当前文件文件名  

%~x0                              获取当前文件后缀名  

%1                                  获取拖入文件完整路径。如:"D:\ABC\adc.txt"  

%~1                               获取拖入文件完整路径,并去掉首尾引号。如:D:\ABC\adc.txt  

%~n1                             获取拖入文件文件名。如:adc  

%~nx1                           获取拖入文件文件名及后缀。如:adc.txt  

%~x1                             获取拖入文件后缀名。如:.txt  

%~dp1                          获取拖入文件所在目录完整路径。如:D:\abc\  

%~d1                            获取拖入文件所在盘符。如:D:  

%~z1                             获取拖入文件大小。如:1024  

%~t1                              获取拖入文件修改时间。如:2023/08/05 周一 19:01  


%cd%                           获取拖入文件所在目录完整路径。如:D:\ABC

                                     没有传递值获取运行程序完整路径。如:C:\ABC

                                     如果传递值这为传递值路径。如:D:\ABC


for 变量

在bat批处理里使用需要”%%“,cmd窗口使用只需要”%“


::获取当前目录下所有a开头的文件

for /f %%a in ('dir /s /b a*') do (    

%%a                            文件完整信息    

%%~da                       保留文件所在驱动器信息

%%~pa                       保留文件所在路径信息

%%~aa                       保留文件的文件属性

%%~na                        保留文件名信息    

%%~xa                        保留文件后缀信息    

%%~za                        保留文件大小信息    

%%~ta                         保留文件修改时间信息    

%%~dpa                      保留文件所在驱动器和所在路径信息    

%%~nxa                       保留文件名及后缀信息    

%%~pnxa                     保留文件所在路径及文件名和后缀信息    

%%~dpna                    保留文件驱动器、路径、文件名信息    

%%~dpnxa                  保留文件驱动器、路径、文件名、后缀信息    


set %var% 相关变量

::变量值偏移和替换配合for可以实现替换文件内容

%var:str1=str2%       

 将var中的str1替换为str2(str2如果为空则可以达到删除的效果,str1前可以加*,变量%ABC:*B=%是C)    

%var:~0,-2%               提取var 变量的所有字符,除了最后两个    

%var:~-2%                  提取var 变量的最后两个    


特殊字符

字符@

一般配合@echo off,关闭命令所有回显,包括本条命令,即不显示输入,只显示输出结果


字符>和字符>>     重定向输入

>

把文字结果写入进文本

123>123.txt      抹去前文件内容,没有这个文件名就新建再写入

>>

把文字追加进文本

123>>123.txt    把现有的文字追加进去,保留原文件内容


字符%%    引用变量

%%

%~1                基本用%0-%9这些变量使用

%cd%             用于系统定义变量或自定义变量,常用的格式

%%i                 只用于for循环里


字符!!         配合延时变量使用

setlocal enabledelayedexpansion 延时变量

!!

!a!                    当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用


字符^         转义符

^

^%                     %将失去它的应用作用,变成普通符号,一个^只对后面一个符号生效

^>                       可剥夺特殊符号的特殊意义,从而使其变成普通符号


字符::          注释信息

::

::123                   注释后的信息不会被执行时显示和执行,用于信息标注,::后面所有信息都将无效


字符:            标签定位

:

:1                         可以接受goto命令所指向的标签,用于goto跳转


字符&            链接符

&

dir & cls                链接前后命令顺序,系统按顺序依次执行,不够前面命令是否执行成功都继续执行后面命令


字符&&          链接判断

&&

123 && dir            前一个命令执行失败后面命令不再执行,前面命令执行成功,后面就继续执行

字符|                管道符

|

dir | find                  将前面命令的输出结果转给后面进行输入


字符||             执行判断

||

123 || dir                 前面命令执行失败才执行后面命令,前面命令执行成功后面不执行


字符<             反向重定符

<

<123.txt                 将后面的信息读取出来,可以用来读文件信息给前面命令


字符""             界定符

""

"123 abc"              表示符号中的信息时一体的,空格时非常需要这个,不如系统会认为时两组信息


字符~

在for中表示使用增强的变量扩展;

在set中表示使用扩展环境变量指定位置的字符串;

在set/a中表示按位取反。


字符*              通配符

*

*.exe                     可以为任意字符


字符?               单字通配符

?

e?e                        可以匹配任意一个字符


字符()                界定边界

()

(dir /a/b)                  命令包含或者是具有优先权的界定符


字符-                  范围表示符

-

1-123                        表示范围区间


字符=                 赋值符号

=

a=b                           用于变量赋值,b赋值给a


字符''

''

'abc'                          在for/f中表示将它们包含的内容当作命令行执行并分析其输出;

'dbc'                          在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。


字符.

.                                表示当前目录

..                               表示上一级目录


系统内置变量

值由系统将其根据事先定义的条件自动赋值,我们可以直接调用使用

%cd%                                       列出当前目录。

%date%                                   列出当前日期。

%time%                                   列出当前时间。

%temp%                                  当前用户的缓存目录。

%windir%                                 列出操作系统目录的位置。

%Path%                                   列出了可执行文件的搜索路径。

%pathext%                               列出操作系统认为可被执行的文件扩展名。

%ProgramFiles%                     列出了Program Files文件夹的路径。

%errorlevel%                            列出了最近使用的命令的错误代码。0表示成功

%random%                               列出界于0 和 32767之间的随机数字。

%homedrive%                          操作系统所在的分区号。如:C:

%systemroot%                         C:\WINDOWS 当前启动的系统的所在目录

%userprofile%                          C:\Users\abc 当前用户数据变量

%homepath%                           \Users\abc 当前用户环境变量

%system%                                C:\WINDOWS\SYSTEM32

%allusersprofile%                     列出所有用户Profile文件位置。

%appdata%                              列出应用程序数据的默认存放位置。

%clientname%                         列出联接到终端服务会话时客户端的NETBIOS名。

%cmdcmdline%                       列出启动当前cmd.exe所使用的命令行。

%cmdextversion%                   命令出当前命令处理程序扩展版本号。

%CommonProgramFiles%     列出了常用文件的文件夹路径。C:\Program Files\Common Files

%computername%                  列出了计算机名。

%comspec%                            列出了可执行命令外壳(命令处理程序)的路径。

%homeshare%                        列出用户共享主目录的网络路径。

%logonsever%                        列出有效的当前登录会话的域名控制器名。

%numeer_of_processors%   列出了计算机安装的处理器数。

%os%                                      列出操作系统的名字。

%processor_architecture%   列出了处理器的芯片架构。

%processor_identfier%         列出了处理器的描述。

%processor_level%               列出了计算机的处理器的型号。

%processor_revision%         列出了处理器的修订号。

%prompt%                              列出了当前命令解释器的命令提示设置。

%sessionname%                   列出连接到终端服务会话时的连接和会话名。

%systemdrive%                      列出了Windows启动目录所在驱动器。

%userdomain%                      列出了包含用户帐号的域的名字。

%username%                         列出当前登录的用户的名字。

%logonserver%                      本地返回验证当前登录会话的域控制器的名称

作者:网络菜鸟愚沐 https://www.bilibili.com/read/cv25542072/ 出处:bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/8336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新AI实景自动无人直播软件:智能讲解、一键开播,享受24小时自动专业直播体验

在现今数字化时代&#xff08;ai无人直播下载&#xff1a;hzzxar&#xff09;直播行业越来越受到人们的关注和喜爱。随着人工智能的不断发展&#xff0c;AI实景自动无人直播软件应运而生&#xff0c;为商家提供了更便捷、高效的直播方式。本文将介绍如何利用这一创新技术&#…

融知财经:期货交易原理是怎样的?期货交易有哪些特征?

期货的原理是基于对某期货品种未来走势的判断而形成对其合约的买卖交易&#xff0c;因此期货可以解释为买涨或买跌。买涨&#xff0c;即看多交易&#xff0c;预期某期货品种未来价格上涨而进行的买入开仓交易&#xff1b;买跌&#xff0c;即看空交易&#xff0c;预期某期货品种…

简站WordPress主题

简站WordPress主题是一种专为建立网站而设计的WordPress模板&#xff0c;它旨在简化网站建设过程&#xff0c;使得用户能够更容易地创建和管理自己的网站。简站WordPress主题具有以下特点&#xff1a; 易用性&#xff1a;简站WordPress主题被设计为简单易用&#xff0c;适合各…

redisson 使用脚本实现将一个队列的元素弹出并推入另一个队列的原子操作

脚本逻辑&#xff1a; 从队列1弹出元素如果存在值则推入队列2否则返回null RScript script redissonClient.getScript(); final String scriptText """local value redis.call(lpop, KEYS[1]);if value thenredis.call(rpush, KEYS[2], value);return valu…

Android广播机制简介

文章目录 Android广播机制简介广播的基本概念广播的类型广播的使用场景Android广播的优缺点优点缺点 使用Android广播的一些最佳实践: Android广播机制简介 Android广播是一种轻量级的消息传递机制&#xff0c;用于应用程序之间或系统与应用程序之间进行通信。它类似于订阅-发…

java多线程,synchronized

Java多线程——synchronized使用详解_synchronized用法-CSDN博客

squeeze的用法

squeeze是压缩张量的命令 import torch a torch.randn(1,3) print(a) print(a.shape) 比如说squeeze&#xff08;&#xff1f;&#xff09;括号里是啥 就是在哪个维度上删除维度为1 之后的结果 比如上上面那个里子 a是&#xff08;[[]]&#xff09; 但是在下面那个例子中d…

【智能安防监控补光灯调光芯片方案】单节锂电降压恒流驱动芯片FP8013 最大输出3A体积小/静态功耗低/效率高/支持无频闪调光

文章目录 文章目录 前言 一、pandas是什么&#xff1f; 二、使用步骤 1.引入库 2.读入数据 总结 前言 随着智能安防监控技术的不断发展&#xff0c;补光灯的关键性能也日益受到重视。为了提供更好的夜间监控效果&#xff0c;我们需要一种高效、稳定的调光芯片来驱动补光灯的亮…

《米小圈动画古诗》—“诗情画意”也不是很难嘛!

创新是一个民族的灵魂和希望&#xff0c;是一个国家兴旺发达的不竭动力&#xff0c;而学习古诗词就是丰富孩子想象力、培养学生创新精神最有效的方法。因为&#xff0c;诗的韵律&#xff0c;情绪跌宕&#xff0c;可以让孩子在大脑中形成一幅完整的图画。 诗歌带给人最美妙的体…

python selenium 滑动后获取动态追加的元素

在使用Python的Selenium库进行网页自动化时&#xff0c;如果需要滑动页面并获取动态追加的元素&#xff0c;可以使用以下步骤&#xff1a; 使用Selenium定位到滑动条元素。 执行滑动操作&#xff0c;可以调用execute_script方法来模拟滑动。 使用WebDriverWait和expected_co…

java垃圾收集器详解

垃圾收集器 Serial Serial收集器是Java虚拟机中最基本的垃圾回收&#xff08;GC&#xff09;收集器之一&#xff0c;主要特点是单线程的垃圾回收。虽然它只使用一个线程进行垃圾回收&#xff0c;但Serial收集器在单CPU环境或者小内存资源的情况下表现得相当高效。由于其单线程…

PMP考试没过怎么办?如何补考?(附复核流程)

最近刷小红书&#xff0c;看很多人都在晒PMP通过的成绩截图&#xff0c;一方面为大家开心&#xff0c;终于拿到了期盼已久的PMP&#xff0c;但同时也有宝子发挥失常没通过考试&#xff0c;所以这期针对没考过的宝子们&#xff0c;出一期复盘文章&#xff0c;无论结果如何&#…

今天重新使用natapp发现连不上了

我配置了natapp.ini以后还是这种情况 然后发现使用命令是可以的 直接在natapp页面中使用cmd 直接用命令 natapp -authtoken9ab6b9040a629626

智能可编程脉冲电源:为电源行业带来前所未有的创新

智能可编程脉冲电源是一种具有高精度、高可靠性、节能降耗和可编程性强等特点的电源设备。它主要由脉冲发生器、功率调节电路和控制电路等组成。脉冲发生器产生的脉冲信号可以驱动功率调节电路&#xff0c;实现对电源输出的电压和电流的精确控制。通过控制电路对脉冲信号进行调…

汽车早报|赛力斯称就山西M7事故不实信息报案 消息称苹果正接触美国电动车新创 | 最新快讯

中汽协&#xff1a;3月汽车商品进出口总额为238.7亿美元&#xff0c;环比增长19.4% 据中国汽车工业协会整理的海关总署数据显示&#xff0c;截止到今年3月&#xff0c;汽车商品进出口总额同比小幅增长。2024年3月&#xff0c;汽车商品进出口总额为238.7亿美元&#xff0c;环比…

代码随想录35期Day33-Java

Day33题目 LeetCode1005:K 次取反后最大化的数组和 核心思想&#xff1a;每次取反都取反最小的。如果有负数&#xff0c;则一直取反最小的负数&#xff0c;如果没有就取反正数。取反次数只需要看是奇数还是偶数。偶数则正数序列不变&#xff0c;奇数则最小的变成负数 class …

apache atlas 如何自定义hook

atals 是开源的数据元数据和数据资产管理平台&#xff0c;平台设计支持强大的图数数据库&#xff0c;nosql&#xff0c;和搜索引擎3个组件构建。都是基于开源构建。 目前市场上开源的元数据管理工具有Atlas&#xff0c; Datahub&#xff0c; Openmetadata等&#xff0c;你要说二…

鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南

几点说明 kernel_liteos_a_note | 中文注解鸿蒙内核 是在 OpenHarmony 的 kernel_liteos_a 基础上给内核源码加上中文注解的版本.与官方源码按月保持同步,同步历史如下: 2021/10/09 – 增加性能优化模块perf,优化了文件映射模块2021/09/14 – common,extended等几个目录结构和M…

实战28套JAVA高端架构P6/P7/P8架构—全栈架构

概述 Java SE Java SE&#xff08;Java Platform&#xff0c;Standard Edition&#xff09;。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web 服务开发的类&#xff0c;并为Java Platform&…

超大文件去除重复数据

背景 一个超大200万行文件 第一列是文件名 第二列是文本 第一列有重复的文件名 如何删除重复的文件名和对应的文本 awk ‘!seen[$1]’ 使用一些命令行工具来处理大文件&#xff0c;如awk、sed、grep等。 使用awk命令来去除重复行&#xff1a; bash awk !seen[$1] your_file.…