dos 命令 2020/2/15
----------------------------------------------------------------------------------------------------------------
序号 | 类别 | 命令 | 说明 |
1 | 文件/夹 | dir | 显示当前目录中的文件和子目录 |
2 | dir /a | 显示当前目录中的文件和子目录(含隐藏,系统文件) | |
3 | dir c: /a:d | 显示 C 盘当前目录中的目录 | |
4 | dir c: /a:-d | 显示 C 盘根目录中的文件 | |
5 | dir c: /b/p | /b只显示文件名,/p分页显示 | |
6 | dir *.exe /s | 显示当前目录和子目录里所有的.exe文件 | |
7 | 文件/夹 | path | 为可执行文件显示或设置一个搜索路径 |
8 | 文件/夹 | xcopy | 复制文件和目录树(/i无文件夹创建,有会有询问) |
9 | xcopy d:mp3 e:mp3 /s/e/i/y | 复制 d:mp3 文件夹、所有子文件夹和文件到 e: 覆盖已有文件 | |
11 | 文件/夹 | deltree | 删除文件夹和它下面的所有子文件夹还有文件 |
12 | 文件/夹 | ICACLS | 显示、修改、备份或还原文件和目录的 ACL |
13 | 文件夹 | CHDIR | 显示当前目录的名称或将其更改。 |
14 | 文件夹 | cd | 显示当前目录 |
15 | C:\Users>cd Administrator | 进入目录 | |
16 | cd /d | 退回到根目录 | |
17 | cd.. | 退回到上一级目录 | |
18 | cd /d d:user | 同时更改盘符和目录 | |
19 | 文件夹 | tree d: | 显示D盘的文件目录结构 |
20 | 文件夹 | md d:user(mkdir d:user) | 创建文件夹:如d:user不存在创建目录 |
21 | 文件夹 | rd abc | 删除当前目录里的abc子目录,要求为空目录 |
22 | rd /s/q d:temp | 删除d:temp文件夹及其子文件夹和文件(/q安静模式) | |
23 | 文件 | type c:boot.ini | 显示文本文件的内容(有可能乱码) |
24 | type *.txt | 显示当前目录里所有.txt文件的内容 | |
25 | 文件 | copy c:a.txt d:b.txt | 复制c:a.txt到d:并重命名为b.txt |
26 | copy con a.txt | 屏幕输入存a.txt(Ctrl+Z结束输入)con屏幕prn打印机nul空设备 | |
27 | copy 1.txt + 2.txt 3.txt | 合并1.txt+2.txt=3.txt文件;如无3.txt保存到1.txt | |
28 | copy test.txt + | 复制文件到自己,实际上是修改了文件日期 | |
29 | 文件 | del d:test.txt | 删除指定文件(非隐藏、系统、只读文件;不能删除文件夹) |
30 | del *.*: | 删除当前文件夹下所有文件 | |
31 | del /q/a/f d:temp*.* | 删除d:temp文件夹里面所有文件(含隐藏,只读,系统文件,不含子目录) | |
32 | del /q/a/f/s d:temp*.* | 删除d:temp及子文件夹里面所有文件(含隐藏,只读,系统文件,不含子目录) | |
33 | ERASE | 删除一个或多个文件。 | |
34 | 文件 | move 路径/文件名 | 移动文件并重命名文件和目录 |
35 | 文件 | ren d:temp tmp | 文件更名(支持对文件夹的重命名) |
36 | 文件 | replace | 替换文件 |
37 | 文件 | attrib | 显示或更改文件属性。 |
38 | 文件 | find | 在一个或多个文件中搜索一个文本字符串。 |
39 | find /i "abc" c:a.txt(/i忽略大小写) | 在 c:a.txt 里查找含 abc的行;找不到返回码为1 | |
40 | find /c "abc" c:test.txt | 显示含 abc 的行的行数 | |
41 | FINDSTR | 在多个文件中搜索字符串findstr "2005" temp.txt | |
42 | 文件 | CACLS | 显示或修改文件的访问控制列表(ACL)。 |
43 | 文件 | FC | 比较两个文件或两个文件集并显示它们之间的不同 |
44 | |||
45 | 网络 | arp | 显示、修改局域网的IP地址-物理地址映射列表(当前的arp缓存) |
46 | =a | 显示arp缓存 | |
47 | =d | 删除一条缓存纪录 | |
48 | =s | 添加一条缓存纪录 | |
49 | 网络 | ftp | 文件传输;不用装cuteftp |
50 | 网络 | ipconfig | 显示当前机器的网络接口状态-显示、修改TCP/IP设置 |
51 | ipconfig /all | 显示详细信息 | |
52 | /release | 释放当前ip | |
53 | /renew | 重新申请ip | |
54 | /flushdns | 刷新dns缓存 | |
55 | /registerdns | 重新栽dns服务器上注册自己 | |
56 | 网络 | ping 主机ip或名字 | 进行网络连接测试、名称解析(网络不通查看防火墙) |
57 | 网络 | msg | 给用户发送消息 |
58 | 网络 | net | 网络命令集及用户管理 |
59 | net /? | 获取具体帮助信息 | |
60 | net view \\主机 | 查看共享 | |
61 | net start/stop 服务名 | 来启动和停止服务 | |
62 | 网络 | netstat -n | 查看主机当前tcp/ip连接状态,如ip.port状态 |
63 | netstat 主机 | ||
64 | netstat -ano|find "64364" | 端口 | |
65 | 网络 | nslookup | 排除dns错误的利器。是一个交互的工具。 |
66 | 网络 | telnet | 字符方式远程登陆 |
67 | 网络 | tracert 主机 | 查看从你自己到目标逐机到底经过了那些路径 |
68 | tracert www.baidu.com | 会看到经过的一个个路由节点, | |
69 | pathping 主机 | 类似tracert,可显示一些tracert不能显示出来的信息 | |
70 | 系统 | at | 安排在特定日期和时间运行命令和程序 |
71 | 系统 | CLS | 清除屏幕。 |
72 | 系统 | COLOR | 设置默认控制台前景和背景颜色。 |
73 | 系统 | EXIT | 退出 CMD.EXE 程序(命令解释程序)。 |
74 | 系统 | FORMAT 盘符: | 格式化一分区(dos下用fat文件系统格式化windows ntfs) |
75 | 系统 | HELP 命令名 | 可查看该命令的帮助信息;如find /? |
76 | 系统 | LABEL | 显示卷标,同时提示输入新卷标 |
77 | LABEL c:system | 设置C盘的卷标为 system | |
78 | 系统 | MORE c:test.txt | 逐屏显示 c:test.txt 的文件内容 |
79 | 系统 | PAUSE | |
80 | 系统 | powercfg | 控制系统上的电源设置 |
81 | 系统 | reg | 注册表控制台工具 |
82 | 系统 | sc | 系统服务设置与控制 |
83 | 系统 | shutdown | 立即或定时关机或重启 |
84 | 系统 | smartdrv.exe | 加载磁盘缓存,参数是缓存的大小,单位是kb |
85 | 系统 | tskill | 结束进程 |
86 | taskkill | 结束进程(比tskill高级) | |
87 | tasklist | 显示进程列表(Windows XP Home Edition中没有) | |
88 | 系统 | VER | 显示系统版本 |
89 | 系统 | VOL | 显示卷标 |
90 | 日期 | DATE | 显示当前日期,并提示输入新日期,按"回车"略过输入 |
91 | 日期 | DATE/t | 只显示当前日期,不提示输入新日期 |
92 | 时间 | TIME | 显示当前时间,并提示输入新时间,按"回车"略过输入 |
93 | 时间 | TIME/t | 只显示当前时间,不提示输入新时间 |
94 | 其他 | DISKPART | 显示或配置磁盘分区属性。 |
95 | DOSKEY | 编辑命令行、调用 Windows 命令并创建宏。 | |
96 | DRIVERQUERY | 显示当前设备驱动程序状态和属性。 | |
97 | ENDLOCAL | 结束批文件中环境更改的本地化。 | |
98 | FSUTIL | 显示或配置文件系统的属性。 | |
99 | FTYPE | 显示或修改用在文件扩展名关联的文件类型。 | |
100 | GPRESULT | 显示机器或用户的组策略信息。 | |
101 | COMP | 比较两个或两套文件的内容。 | |
102 | COMPACT | 显示或更改 NTFS 分区上文件的压缩。 | |
103 | CONVERT | 将 FAT 卷转换成 NTFS。您不能转换当前驱动器。 | |
104 | CHCP | 显示或设置活动代码页数。 | |
105 | ASSOC | 显示或修改文件扩展名关联。 | |
106 | BREAK | 设置或清除扩展式 CTRL+C 检查。 | |
107 | BCDEDIT | 设置启动数据库中的属性以控制启动加载。 | |
108 | CHKDSK | 检查磁盘并显示状态报告。 | |
109 | CHKNTFS | 显示或修改启动时间磁盘检查。 | |
110 | SUBST | 映射磁盘--显示目前所有的映时 subst z: serverd输入z:就可访问serverd | |
112 | subst z: /d | 取消该映射 |
----------------------------------------------------------------------------------------------------------------
2.C:\Users\Administrator>help
有关某个命令的详细信息,请键入 HELP 命令名
3.win7下dos命令窗口常用属性
----------------------------------------------------------------------------------------------------------------
1.1.进入
# 首先按下"win+R"打开运行窗口,然后输入“cmd”回车打开命令窗口。
# dos命令窗口复制,粘贴
1.2.设置
# 将鼠标放在dos命令窗口的上面,右击选择“属性=>选项=>勾选‘编辑选项’中的
#‘快速编辑模式’和‘插入模式’”点击“确定”后就可以快速输入了;
----------------------------------------------------------------------------------------------------------------
2.1粘贴
# 将需要复制到命令窗口中的内容复制好,然后回到dos命令窗口中在光标闪烁的位置点击
#‘鼠标右键’,就可以看到内容内容复制到这里了。
2.2复制
# 将需要复制的内容选中好,然后再按下“回车”键,那要复制的内容就复制在剪切板中,
# 在需要的地方用'Ctrl+V'就行了。
----------------------------------------------------------------------------------------------------------------
# 3.设置字体的大小、布局(屏幕缓冲区的大小、窗口大小、窗口位置)和背景颜色;
# 1、右击选择“属性=>字体”中可以根据需要自由选择字体的大小粗细;
# 2、右击选择“属性=>布局”中可以根据需要自由选择缓冲区的大小、窗口大小、窗口
# 打开时出现在屏幕中的位置;
# 3、dos命令窗口中默认是白色的字和黑色的背景,若是需要设置的话,可以右击选择
# “属性=>颜色”中可以根据需要自由选择字体以及背景的颜色。
# 1、上面中设置字体的颜色也可以通过命令“color 数字”来实现;
# 2、dos命令窗口中默认的title是“管理员:C:\Windows\system32\cmd.exe”,若不想要
# 也可以改,通过命令“title 标题名”(只对当前命令行窗口有效)修改;
# 3、改变Windows的命令提示,默认是“C:\Users\Administrator>”,
# 可通过命令“prompt 提示内容”(只对当前命令行窗口有效)修改;
----------------------------------------------------------------------------------------------------------------
# 4.修改dos命令窗口中的编码格式:
# 命令窗口默认页面编码gbk,若是需要则可以通过命令"chcp "来修改;
# chcp 65001 UTF=8 ;
# chcp 936 默认的GBK(简体中文) ;
# chcp 437 英语 ;
----------------------------------------------------------------------------------------------------------------
批处理 2020/2/15
详细参考:http://club.topsage.com/forum.php?mod=viewthread&tid=597592
类别 | 命令 | 说明 |
批处理 | REM 和 :: | 注释;行内注释用%...% |
GOTO 标签 | 跳转命令 | |
:Label | 标签 | |
CALL [drive:][path]filename [参数] | 调用批处理 call G:\Futures\database\tmp.bat | |
START /d /wait /b 程序 | 启动单独窗口(无/b)运行程序 start mysql /wait -u root -proot | |
CHOICE /C YN /M "yes no" | 选择:根据输入不同的字符(Y/N)获得不同的errorlevel=1/2 | |
Echo | echo [{on│off}] [message] | 打开回显或关闭请求回显功能,或显示消息 |
@echo off | 关闭回显 | |
echo hello Word! | 打印字符串;echo.(,;)输出回车换行 | |
换行符 | echo. [,:;/\+] | 空行 echo\Today is Friday.>>temp.txt |
动态变量 | ||
%CD% | 代表当前目录的字符串 显示C:\Users\Administrator | |
%DATE% | 当前日期echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%^:%time:~3,2% | |
%TIME% | 当前时间(精确到ms) 输出2020-02-14 19:51 | |
%RANDOM% | 随机整数,介于0~32767 | |
%ERRORLEVEL% | 当前 ERRORLEVEL 值 | |
%CMDEXTVERSION% | 当前命令处理器扩展名版本号 | |
%CMDCMDLINE% | 调用命令处理器的原始命令行 | |
echo %SystemDrive% | 显示系统盘盘符C:系统变量可以直接引用 | |
查看变量 | ||
set | 显示系统和自定义变量(不含动态变量) | |
set p | 显示所有以p开头的变量,要是一个也没有就设errorlevel=1 | |
echo %% | 转义%字符 显示% | |
echo %cd% | 获取当前进入的工作目录 显示G:\Futures\database | |
echo %~dp0 | 获取当前bat文件的位置 显示G:\Futures\database\ | |
echo %p% | 显示变量p代表的字符串,即aa1bb1aa2bb2 | |
echo %p:~6% [7,...] | 显示变量p中第6个字符以后的所有字符,即aa2bb2 | |
echo %p:~6,3% [7,8,9] | 显示第6个字符以后的3个字符,即aa2 | |
echo %p:~0,3% [1,2,3] | 显示前3个字符,即aa1 | |
echo %p:~-2% | 显示最后面的2个字符,即b2 | |
echo %p:~0,-2% | 显示除了最后2个字符以外的其它字符,即aa1bb1aa2b | |
变量替换 | echo %p:aa=c% | 用c替换变量p中所有的aa,即显示c1bb1c2bb2 |
echo %p:aa=% | 将变量p中的所有aa字符串置换为空,即显示1bb12bb2 | |
echo %p:*bb=c% | 第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2 | |
设置变量 | ||
setp=%p:*bb=c% | 设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2 | |
set x=1 | 设置变量:x | |
set /a x=20/3 (x/10) | 支持运算符,有小数时用去尾法x=6 | |
set /a x=”1&0″ | ”与”运算,要加引号。其它支持的运算符参见set/? | |
set x= | 取消p变量 | |
用户输入 | set /p x=Please Input: | 将用户的输入赋值给一个变量p |
echo x= %x% | 引用变量: 显示x=10 | |
echo x= %1 | 引用变量:命令行参数1 | |
注意: | 变量在复合语句(if,for)是一次性全部替换;若复合语句中修改变量 | |
应在复合语句前后加SetLocal EnableDelayedExpasion,EndLocal | ||
if选择 | ||
IF [NOT] EXIST filename command | if exist config.sys edit config.sys | |
IF [NOT] string1==string2 command | "%age%"=="20";%age%== 20;{%age%}=={20};{%name%}=={} 空str | |
if /i {%name%}=={"tom"} ( echo 1 )else (echo 0 ) /i不区分大小写 | ||
if %name%=="Tom" ( #if语句必须有左括号 | ||
echo 1)else ( #else必须是)else(格式;下面一行可以提上来 | ||
echo 0 ) | ||
IF [NOT] ERRORLEVEL number command | 方法一:dir C1: | |
Set errorcode=%errorlevel% 上条命令返回值用于复合语句(for,if)无变量延迟 | ||
if %errorlevel% == 0 echo Run Err! | ||
方法二:setlocal enabledelayedexpansion 开启变量延迟 | ||
dir C1: | ||
注:在cmd环境中无else子句 | if !errorlevel! == 0 echo Run Err! | |
for | for {%variable│%%variable} in (set) do command [CommandLineOptions] | |
多处理 | ||
& | 顺序执行多命令不管是否执行成功 dir z: & dir c: | |
&& | 顺序执行多命令,出错后将不执行后面命令 | |
find "ok" C:a.txt && echo 成功 | 如找到"ok"字样,就显示"成功",找不到就不显示 | |
|| | 顺序执行多条命令,当执行正确命令后将不执行后面的命令 | |
find "ok" C:a.txt || echo 不成功 | 如找不到"ok"字样,就显示"不成功",找到了就不显示 | |
管道 | | | |
echo Tom|findstr /i "to">nul && echo 无错误 | 管道命令:前面结果作为后面输入 | |
dir *.* /s/a | find /c ".exe" | 输出当前文件夹及子文件夹里.exe文件个数 | |
重定向 | ||
> / >> (先清除在写/附加文件尾部) | 输出重定向命令--将屏幕内容输出到文件(不存在则创建) | |
type c:test.txt >prn(>con;>a.txt) | 内容输出到打印机(屏幕,文件) | |
copy c:test.txt f: >nul | 拷贝文件不显示提示信息 | |
< | 从文件获得输入:echo 2005-05-01>temp.txt;date <temp.txt | |
>& | 将一个句柄的输出写入到另一个句柄的输入中。 | |
<& | 从一个句柄读取输入并将其写入到另一个句柄输出中。 | |
转义字符 | ^ | |
echo ^^W ^> ^W>c:test.txt | 生成的文件内容为 ^W > W | |
参数 | ||
%0...%9 %* | 命令行参数(%* 所有参数) | |
%~1 | 删除引号("),扩充 %1 | |
%~f1 | 将 %1 扩充到一个完全合格的路径名 | |
%~d1 | 仅将 %1 扩充到一个驱动器号 | |
%~p1 | 仅将 %1 扩充到一个路径 | |
%~n1 | 仅将 %1 扩充到一个文件名 | |
%~x1 | 仅将 %1 扩充到一个文件扩展名 | |
%~s1 | 扩充的路径指含有短名 | |
%~a1 | 将 %1 扩充到文件属性 | |
%~t1 | 将 %1 扩充到文件的日期/时间 | |
%~z1 | 将 %1 扩充到文件的大小 | |
%~$PATH : 1 | 查找在PATH环境变量目录将%1扩充到找到的第一个完全合格名称或空字符串 | |
组合修定符来取得多重结果: | ||
%~dp1 | 只将 %1 扩展到驱动器号和路径 | |
%~nx1 | 只将 %1 扩展到文件名和扩展名 | |
%~dp$PATH:1 | 在 PATH 环境变量中查找 %1,找到的第一个文件的驱动器号和路径 | |
%~ftza1 | 将 %1 扩展到类似 DIR 的输出行 | |
设置 | ||
SetLocal EnableExtensions | 启用"命令扩展名" 默认为启用 | |
SetLocal DisableExtensions | 停用"命令扩展名" | |
SetLocal EnableDelayedExpasion | 启用"延缓环境变量扩充" | |
SetLocal DisableDelayedExpansion | 停用"延缓环境变量扩充" 默认为停用 | |
EndLocal | 恢复到使用SETLOCAL语句以前的状态;批处理结束系统会自动恢复默认值 | |
说明:目录路径:用\不用/;空格用双引号del "d:\program files\file\my.txt";名称不含:\ / : * ? " < > |
批处理-for 2020/2/15
匹配文件: | |
格式:for %%i in(set) do 命令 [参数] | 只匹配文件:i单字母;()集合;(cwd环境中用%i) |
for %%i in (t*.*,???.txt) do echo %%i | 显示当前目录匹配文件(不含路径;???文件名有1-3个字符) |
for %%i in (d:\user\*.doc) do @echo %%i | 显示指定目录匹配文件(含路径;d:\*.doc反斜杠可省) |
匹配当前目录:(不含子目录) | |
格式:for /D %%i in(set) do 命令 [参数] | /d只匹配当前目录(不含子目录) |
for /D %%i in (D:\*) do echo %%i | 显示D盘根目录下的所有目录(不含子目录) |
指定路径匹配文件:(含子目录) | 结果类似 F:\sys1903\log.txt |
for /R [[d:]path] %i in (set) do 命令 [参数] | 以[d:]path为根目录及子目录;无d:则为当前目录;(.)目录树 |
for /r F:\ %%i in (*.txt) do echo %%i | 查找F:盘下所有xx.txt文件(含子目录) |
循环数值序列: | |
for /L %i in (start,step,end) do 命令 [参数] | 产生[start,end]增量为step |
for /l %%i in (1,1,3) do @echo %%i | 输出1 2 3 |
for /l %%i in (3,-1,1) do @echo %%i | 输出3 2 1 |
set str=Tom,Bob;Jim | |
For %i in (1 2,%str%) do @echo %i | 输出1 2 Tom Bob Jim |
文件处理: | 分析文件,str内容或命令输出结果,通过设置option获取结果 |
for /F ["options"] %i in (file-set) do 命令 [参数] | 或"file-set"如有usebackq选项 (可指定含空格的文件名) |
for /F ["options"] %i in ("str") do 命令 [参数] | 或'str' |
for /F ["options"] %i in ("命令") do 命令 [参数] | 或`命令` |
参数: | |
eol=;(仅仅1个字符) | 忽略分号开头的行 |
skip=n | 文件开始时忽略行数 |
delims=xxx (默认空格定界符号) | 指分隔符集。这个替换了空格和制表符的 |
tokens=x,y,m-n* 每行变量提前 | tokens=2,3* 每行:%i,%j,%k=第2字符,第3字符,剩余字符 |
FOR /F %%i in (temp1111.txt) do @echo %%i | 获得空白分割第一个str |
FOR /F "eol=# skip=2 tokens=1,2*" %%i in (temp.txt) do @echo %%i %%j %%k 跳过2行 | |
FOR /F "eol=# tokens=1,2* delims=,- " %%i in (temp.txt) do @echo %%i %%j %%k 忽略以#开头的行 | |
FOR /F "tokens=1,2,3,4* delims=," %%i in ("aa bb,cc dd ee") do echo %%i %%j %%k %%l 结果显示aa bb cc dd ee | |
FOR /F "tokens=1* delims==" %%i IN ('set') DO @echo [%%i----%%j] | |
FOR /F "usebackq eol=; tokens=1,2* delims=,- " %%i in ("d:\test.txt") do echo %%i %%j %%k | |
FOR /f "usebackq tokens=1,2,3* delims=-, " %%i in ('aa bb,cc-dd ee') do echo %%i %%j %%k %%l | |
FOR /F "usebackq tokens=1* delims==" %%i IN (`set`) DO @echo [%%i----%%j]枚举环境变量名称和值 | |
选项语法: | |
%~I FOR /F "delims=" %%i IN (temp1.txt) DO echo %%~i | 删除引号(不能删除中间和后面的单") |
%~fI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~fi | 文件名(dir /b)前添加完整路径 类似C:\Program Files\Notepad++\a.txt |
%~dI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~di | 如变量%%i是文件或目录名返回文件或者目录所在盘符 类似C: |
%~pI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~pi | 仅获取变量的路径 类似\Program Files\Notepad++\ |
%~nI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~ni | 仅获取变量的文件名 类似a.txt |
%~xI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~xi | 仅获取变量的扩展名 类似.txt |
%~sI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~si | 扩展的路径只含有短名 类似C:\Program Files\Notepad++\a.txt |
%~aI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~ai | 将 %I 扩展到文件的文件属性 类似d----或--a--- |
%~tI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~ti | 将 %I 扩展到文件创建日期/时间 类似2020/01/12 21:43 |
%~zI FOR /F "delims=" %%i IN ('dir /b') DO @echo %%~zi | 将 %I 扩展到文件的大小 类似4096 |
%~$PATH:I | 查找在路径环境变量目录的首个名称或"" |
FOR /F "delims=" %%i IN ("notepad.exe") DO echo %%~$PATH:i | 结果C:\Windows\System32\notepad.exe在PATH变量指定路径里搜索notepad.exe, |
如果有notepad.exe则会把他所在绝对路径打印出来,没有就打印一个错误 | |
组合修饰符获得多重结果: | |
set s='dir C:\WINDOWS\system32\notepad.exe /b' | |
%~dpI FOR /F %%i IN (%s%) do echo %%~dpi | 仅将 %I 扩展到一个驱动器号和路径 C:\Program Files\Notepad++\ |
%~nxI FOR /F %%i IN (%s%) do echo %%~nxi | 仅将 %I 扩展到一个文件名和扩展名 notepad.exe |
%~fsI FOR /F %%i IN (%s%) do echo %%~fsi | 扩展到一个带有短名的完整路径名 C:\Program Files\Notepad++\notepad.exe |
%~dp$PATH:I FOR /F %%i IN (%s%) do echo %%~dp$PATH:i | 搜索列在路径环境变量的目录,找到首驱动器号和路径。C:\Windows\System32\ |
%~ftzaI FOR /F %%i IN (%s%) do echo %%~ftzai | 类似DIR 结果为C:\Program Files\Notepad++\notepad.exe |