当前位置: 网站首页 >> 手游 > >> 正文

Windows cmd 之特殊符号及变量

时间:2023-08-05 19:19:39   来源:哔哩哔哩

Windows cmd 特殊符号及变量


(资料图)

cmd常用变量 

bat批处理常用命令

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

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

::打印当前窗口地址

echo “%cd%” 

%0                               获取当前文件路径  

%~d0                           获取当前盘符    

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

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

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

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

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

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

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

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

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

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

%~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>>   把现有的文字追加进去,保留原文件内容

字符%%    引用变量

%%

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

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

%%i                只用于for循环里

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

setlocal enabledelayedexpansion 延时变量

!!

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

字符^        转义符

^

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

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

字符::        注释信息

::

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

字符:           标签定位

:

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

字符&           链接符

&

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

字符&&         链接判断

&&

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

字符|               管道符

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

字符||            执行判断

||

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

字符<            反向重定符

<

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

字符""            界定符

""

"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%                     列出启动当前所使用的命令行。

%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%                    本地返回验证当前登录会话的域控制器的名称

关键词:
x 广告
x 广告

Copyright ©  2015-2022 华中游戏网版权所有  备案号:京ICP备12018864号-26   联系邮箱:2 913 236 @qq.com