' |
for /f %a in (`wwuhn@hotmail.com mailbox`) do echo %a 封装字符串 |
- |
attrib 文件名 -A -R -S -H |
|
去掉、某文件的存档、只读、系统、隐藏 属性; |
- |
非 |
dir /a:-s |
表示非系统文件; |
- |
颠倒顺序 |
dir /o:-s |
dir /o:s表示文件size表示从小到大,而-s表示从大到小; |
- |
取消 |
attri -r |
表示取消文件的只读属性(+r表示添加属性); |
- |
确认 |
move -y |
确认改写一个现有目标文件的提示(确认是否覆盖,y表示取消确认); |
!...! |
变量延时时对变量的引用;如!ver!; |
% |
引导参数如%1,在命令行中执行for命令时引导变量,如%a; |
%% |
在批处理中执行for命令时引导为题,如%%a;引导自定义变量或环境变量,如%ver%,%userprofile%; |
* |
通配符, |
|
|
* |
tokens=* |
把一行当作整体进行处理; |
|
. |
当前目录 |
|
|
.. |
上级目录 |
|
|
: |
:label |
指定子程序的开始; |
|
:: |
注释 |
|
|
^ |
转义字符 |
却对一些特殊的字符当做常规字符处理,用^做引导,规避字符的特殊含义; |
| |
c1 | c2 |
将命令1的输出做为命令2的输入; |
|| |
c1 || c2 |
只有命令1没有成功完成时才执行命令2; |
~ |
变量扩充,如%~na;%~nea; |
= |
赋值 |
|
|
== |
比较 |
|
|
↑ |
重复输入最的近一次运行的命令; |
@ |
① 隐藏命令行本身的回显,常用于批处理中。 |
^ |
① 取消特定字符的转义作用,比如& | > < ! "等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了; |
>nul |
表示将前面命令产生的信息发送到空设备,从而避免直接显示在命令行窗口 |
1 参数 |
参数变量:直接接收用户附于批处理程序后的字串,并将各字串自动代入相应的变量。 |
|
%0-%9;%0代表批处理文件本身,此后顺推;%0自动默认为批处理文件名,不需要任何传递或赋值操作; |
2 变量赋值 |
set varname=varvalue |
|
变量的表达式赋值:set /a ver=100+1 |
3 与用户交互的变量 |
set /p varname="remark" |
4 替换变量值 |
%varname%:表示引用变量; |
5 迭代变量 |
%a-%z或%A-%Z;只存在于for循环的上下文件中,首先定义的是其初始值; |
变量的清除或释放: |
set ver= |
变量作用范围局部化 |
setlocal |
|
1 定义的变量退出cmd时这些变量将不复存在; |
|
2 可设置变量的作用范围局限在某个特定的区域; |
环境变量 |
path,homedrive,computername,errorlevel(追踪最近使用命令的退出代码); |
变量扩充 |
2 变量要用%x来表示,x可取a-z,A-Z,0-9; |
|
%a-z或%A-Z是for语句中的迭代变量;(脚本的for命令处理的对象是文件集\目录集\或文本文件、命令输出的以行为基础的文本; |
|
%0-9是批处理脚本的参数; |
|
%~dI 仅将 %I 扩展到一个驱动器号 |
|
%~pI 仅将 %I 扩展到一个路径 |
|
echo %~dp0 显示当前批处理文件的路径; |
变量延迟 |
使用变量时是用&,当延迟变量时,用!代替&; |
|
!是%的一个强化版,在for循环中,当一个变量被多次赋值时,%dd%所获取的仅仅是dd第一次被赋予的值,想要刷新dd的值,就必须首先使用命令setlocal enabledelayedexpansion来开启延时变量开关,然后用!dd!来获取dd的值; |
name |
parameter or function |
details |
goto |
|
goto指定命令将要跳转到的子程序; |
goto |
|
标号表示子程序的开始; |
goto |
goto label |
批处理文件运行到这里将跑到goto所指定的标号label处,标号以":"开头,单独占一行,一般与if配合使用。 |
call |
|
在一个批处理程序中调用另一个批处理程序,并且不终止父批处理程序; |
call |
|
call[[drive:][path] fileName [batchParameters]] [:label [arguments]] |
call |
|
[drive:][path] fileName:指定被调用的批处理文件名 |
call |
|
:label:与goto语句中使用的标签类似; |
choice |
选择项目 |
让用户输入一个字符,从而运行不同的命令。 |
echo |
|
echo [{on|off}][message] |
echo |
|
on:允许批处理文件在执行的过程中回显命令; |
echo |
|
off:禁止批处理文件在执行的过程中回显命令; |
echo |
|
message:表示需要显示在屏幕的信息。 |
echo |
|
echo.:显示空行; |
echo |
echo命令可以控制批处理命令中其他命令是否回显,但却不能控制自己。 |
pause |
用于暂停批处理的执行并给出提示信息,然后由用户决定是继续执行还是中断执行。 |
popd |
pushd and popd |
切换当前目录 |
pushd |
pushd and popd |
切换当前目录 |
rem |
rem [comment] |
注释命令;也可以使用"::"打开回显时,rem的内容会显现,::不会; |
setlocal |
开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后 |
setlocal |
|
所做的环境改动只限于批处理文件。要还原原先的设置,必须执行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。 |
shift |
|
更改批处理文件中可替换参数的位置。 |
shift |
SHIFT [/n] |
如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉 |
shift |
|
命令从第 n 个参数开始移位;n 介于零和八之间。例如: SHIFT /2 会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。 |
start |
start bat /max |
可以调用外部程序,也可以调用内部命令批处理中调用外部程序的命令,该外部程序在新窗口中运行,批处理程序继续执行,不理会调用程序中的运行情况,如果直接运行外部程序,则必须等外部程序完成后才继续执行的剩下的指令; |
errorlevel |
|
环境变量,可以追踪最近使用命令的退出代码;chkdsk命令的返回代码:0:没有发现错误,1:已找到并修复;2:已执行磁盘回复;3:未指定"/f"选项,无法检查磁盘; |
if |
|
|
for |
|
|
set |
|
|
setx |
|
|