1. 常见用法
set v=10 echo %v% //定义变量并输出
echo %cd% //c:\users\HuaChai(当前目录)
%~dp0 //脚本文件所在的磁盘位置(d:disk;p:path)
%0 //批处理文件本身
%~d0 //批处理文件所在的盘符
echo. & pause //执行完脚本文件不关闭窗口
2. set用法
set /a //执行数学计算
set /p //提示用户输入
3. 特殊用法
%* //代表命令行传递的所有参数
%%变量名 //用于for循环
4. 关于参数的限制
bash命令只接受%0,%1,%2,%3,%4,%5,%6,%7,%8,%9共十个参数。%10则被识别为%1后接0;
5. for循环 in(Start,Step,End)
for /f "skip=1 tokens=1,2* delims=" %%a in (xxx.txt)
do
echo %%a %%b %%c
done
Note:
A. for循环是以行为单位的,skip=1即为跳过第一行;
B. delims 分隔符;
C. tokens delims已经将每行分成了相应的几列,究竟需要读取哪些列的值,需要设置Tokens来表示,如tokens=1,2,3;
6. &&与||的区别
&&表示如果它之前的语句成功执行,则将执行它之后的语句.而||则表示如果它前面的语句执行失败,则执行它之后的语句;
7. !!与变量延迟
变量延迟的两种开启方式:cmd下开启/批处理文件中开启;
使用场合:复合语句中使用"()"时;
!!与%%的区别:在复合语句之外开启了变量延迟,!!与%%均可用.但如果在复合语句中引用即时得到的变量值就需要使用!!;
8. UNIX SHELL与DOS命令的区别:
9. : 的用法:
A:定义标签段。Exception表示标签段的名字,可以使用go to Exception跳转到标签段;
B:和~使用,截取字符串。如:set str=abcde,set var=%str:~0,1% 则表示截取字符串abcde的第一个字符;
C:和=使用,替换字符串。如:set str=abcxde,那么,set var=%str:x=?% 则表示把字符串abc:de中的x替换为?