1、 一些常见基本命令
title cmd窗口标题(title 测试)
pause 暂停执行(pause)
start 启动.exe文件或打开某个文件夹或文件(start calc或start test.txt)
goto 跳转到某个标号处(goto label)
echo off 关闭回显(echo off)
echo on 打开回显(echo on)
@echo off 关闭所有回显(@echo off)
echo /? 查看该命令使用方法(echo /?)
set /p 设置一个从外部读取的变量,打印提示信息,等待用户输入(set /p name="请输入姓名: ")
> 清除文件中原有的内容后再写入
>> 追加到文件末尾,文件不存在则创建
%cd% 当前执行路径
del 删除文件(del /Q *.apk)--示例为安静模式下根据通配符删除,更加详细请使用del /?命令
ren 重命名文件(ren a.apk.tmp a.apk)
copy 复制文件为(copy a.txt b.apk)--示例为复制a到b
winrar.exe 压缩包操作(winrar.exe a -r b.apk a)--示例为将a文件复制到b.apk中
timeout 延迟(timeout /t 15 /nobreak)--示例为忽略按键等待15秒
2、if errorlevel语句
if errorlevel 0 (echo 配置成功) else (echo 配置失败,请重试)
说明:
一般上一条命令的执行结果返回的值只有两个,”成功”用0 表示 ,”失败”用 1 表示,实际上,errorlevel 返回值可以在0~255 之间,当使用if errorlevel 值 cmmand 句式时,它的含义是:如果返回的错误码值大于或等于值 的时候,将执行cmmand操作;当使用if %errorlevel%==值 cmmand 句式时,它含义是:如果返回的错误码值等于值 的时候,将执行cmmand操作。
if %ERRORLEVEL%对数值的比较方法不仅仅限于等于,可以使用参数来控制。
全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
3、for语句
for %%i in (.\jre7\lib\*.jar) do call setenv.bat %%i
一般式如下:
FOR %%variable IN (set) DO command [command-parameters]
说明:
其中,%%i应该是代表了”.\jre7\lib*.jar”中的每一个jar包
for %%i in (“.\lib*.jar”) 是遍历”.\lib*.jar”中的每一个jar包,每个变量复制给i
call setenv.bat %%i 把%%i当参数调用setenv.bat
在setenv.bat中,只有下面一行一句
set jenv=%jenv%;%1
上一句中%1指的是传入的参数,结合前面的for语句,即是把每一个%%i和%jenv%拼接起来,再次赋值给%jenv%变量
4、输出空行的方法
echo=
echo,
echo;
echo+
echo/
echo[
echo]
echo:
echo.
echo\
说明:空格的输出有很多办法,我知道的分为三组,效率依次递减
参考文章
批处理技术内幕:ECHO命令: http://demon.tw/reverse/cmd-internal-echo.html
errorlevel与%errorlevel%的区别:http://blog.csdn.net/hudashi/article/details/7042260