博观而约取,厚积而薄发。这篇文章主要讲述Create an Android library相关的知识,希望能为你提供帮助。
博文地址
我的GitHub | 我的博客 | 我的微信 | 我的邮箱 |
---|---|---|---|
baiqiantao | baiqiantao | bqt20094 | baiqiantao@sina.com |
目录
- 目录
- 批处理特殊符号
- % 变量引导符
- ! 变量延迟时变量引用符
- () 多行命令整合符
- & 命令连接符
- & & 和 || 组合命令符
- ; 相同命令分割符
- ^ 取消转义符
- : 标签定位符
- "" 字符串界定符
- / 功能开关符
- , 特殊空格符
- ~ 变量扩展符
- @ 命令行回显屏蔽符
- * 通配符
- - 范围表示符
- + 文件合并符
- = 赋值符
- \\ 根目录符
- \'\' 命令或字符串
- . 当前目录
- $ 一行的结束
- ` 命令符
- [] 字符集
- ? 匹配一个字符
批处理特殊符号
- 参考1
- 参考2
- 算数运算:
SET /A a=5%%2
里面%%
为取余数(结果为1) - 引用变量:
%var%
就是变量var
的引用,如果直接var
,系统会把var
当字符处理了 - 命令行参数:单个
%
紧跟0-9
的一个数字表示引用命令行参数 - 引用循环变量:用于
for
中表示引用循环变量 - 用于
for
中连续的两个%
表示执行时脱为一个%
- 用作行内注释:
%行内注释%
%n
(n为自然数)表示在调用批处理文件时传递的参数%0
批处理文件本身,包括完整的路径和扩展名。参数%0
具有特殊的功能,可以调用批处理自身
,以达到批处理本身循环的目的,也可以复制文件自身
等等。%1
第一个参数%9
第九个参数%*
从第一个参数开始的所有参数
copy %0 d:\\new_file.bat
:: 最简单的复制文件自身的方法
%行内注释%
可以用作行内注释,不能出现
重定向符号
和管道符号
。此时“注释内容”其实被当作
变量
,其值是空的,故只起注释作用,不过这种用法容易出现语法错误
,一般不用。%%k for语句特有的变量
%%i
是for
语句里面特有的变量,只有在批处理里面才写两个%%
号表示变量(用1个会报错),在cmd中则只用一个%
号(用2个会报错)。批处理中之所以用两个
%%
是因为编译器编译的时候要屏蔽一个%
。! 变量延迟时变量引用符
- 变量引用符:在变量延迟问题中,用来表示变量,即
%var%
应该表示为!var!
(不要问我为什么,因为这就是最基础的语法)。 - 逻辑运算符:在 set /a 中表示逻辑非
多行命令
,这些命令将被看成一个整体,视为一条命令行
。括号在
for
语句和if
语句中常见,用来嵌套使用循环或条件语句,其实括号也可以单独使用。echo 1 &
echo 2 &
echo 3
(
echo 1
echo 2
echo 3
)
:: 上面两种写法效果一样,这两种写法都被视为是一条命令行
注意:这种多条命令被视为一条命令行时,如果其中有变量,就涉及到
变量延迟
的问题。& 命令连接符
- 命令连接符:可以把多个命令组合起来当一个命令来执行,这在批处理脚本里
用的非常广泛
,因为批处理认行不认命令数目
。 - 位运算:在set/a中是按位与
@echo off &
setlocal enabledelayedexpansion
set /A b=1 &
echo b的值为:%b%,!b!(必须使用延迟扩展)
& & 和 || 组合命令符符号
&
&
、||
为组合命令:- 符号
& &
:前面的命令失败时,后边的命令将不会执行
(前面的命令成功时,后边的命令会执行) - 符号
||
:前面的命令失败时,后边的命令才会执行
(前面的命令成功时,后边的命令不会执行) - 符号
&
:前面的命令不影响后边的命令执行
,目的一般为了将多行命令放在一行
copy %0 new_file.txt &
&
echo 【拷贝当前批处理文件成功】
copy 不存在的文件.txt new_file.txt &
&
echo 【拷贝成功1(不会执行)】
copy 不存在的文件.txt new_file.txt || echo 【拷贝失败1】copy %0 new_file.txt &
&
echo 【拷贝成功2】 || echo 【拷贝失败2(不会执行)】
copy 不存在的文件.txt new_file.txt &
&
echo 【拷贝成功3(不会执行)】 || echo 【拷贝失败3】
; 相同命令分割符当
命令相同
时,分号;
可以将不同目标用隔离,但执行效果不变。dir c:\\;
d:\\;
e:\\
:: 如果其中e盘不存在,运行显示:系统找不到指定的路径。然后终止命令的执行。不会打印任何内容dir c:\\;
d:\\ >
>
a.txt
:: 把C盘和D盘的信息都重定向到文件a.txt中
^ 取消转义符
- 取消转义符:将所有转义字符的转义作用关闭
- 位运算:在set/a中是按位异
- 不匹配:在findstr/r的[]中表示不匹配指定的字符集
- 续行符:因为每行末尾还有一个看不见的
回车符
,转义字符位于行尾时就让回车符失效了
,从而起到了续行的作用
echo test ^>
1.txt
echo 我^
是^
包青天^
: 标签定位符标签定位符,可以接受goto命令所指向的标签。
"" 字符串界定符
- 字符串界定符:在表示带有空格的路径时常要用
""
来将路径括起来;在一些命令里面也需要""
符号 - 在for/f中将表示它们包含的内容当作字符串分析
- 在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容
- 在其它情况下表示其中的内容是一个完整的字符串,其中的
> 、> > 、< 、& 、|、空格
等不再转义
cd "program files"
cd progra~1
cd pro*
:: 以上三种方法都可以进入program files这个目录
/ 功能开关符
- 能开关符:表示其后的字符(串)是命令的功能开关(选项),比如
dir /s/b/a-d
- 算数运算:在set/a中表示除法
,
可以用来当做空格使dir,c:\\
~ 变量扩展符
- 在for中表示使用增强的变量扩展
- 在set中表示使用扩展环境变量指定位置的字符串
- 在set/a中表示按位取反
关闭当前行的回显
。我们知道,
ECHO OFF
可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF
这个命令的回显,现在我们在ECHO OFF
这个命令前加个@
,就可以达到所有命令均不回显的要求* 通配符
- 匹配符:代表任意个任意字符,就是我们通常所说的通配符
- 算数运算:在set/a中是乘法
- 多次匹配:在findstr/r中表示将前一个字符多次匹配
- 范围表示符:比如日期的查找,for命令里的tokens操作中就可以用到这个字符
- 匹配范围:在findstr/r中连接两个字符表示匹配范围
- 取反:跟在某些命令后表示取反向的开关
- 文件合并符:主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件
- 算数运算:在set/a中是加法
\\ 根目录符
- 根目录:这个
\\
符号在有的情况下,代表的是当前路径的根目录。比如当前目录在c盘下,那么你dir \\
的话,就相当与dir c:\\
- 转义符:在findstr/r中表示正则转义字符
- 在for/f中表示将它们包含的内容当作
命令行
执行并分析其输出 - 在
for/f "usebackq"
中表示将它们包含的字符串当作字符串
分析
- 在路径的
\\
后紧跟或者单独出现时:一个.
表示当前目录,两个..
表示上一级目录 - 在路径中的文件名中出现时:最后的一个
.
表示主文件名与扩展文件名的分隔
` 命令符指的是TAB上面的那个按键。
在for/f中,表示它们所包含的内容当作
命令行
执行并分析它的输出。[] 字符集
- 在帮助文档表示其中的开关、选项或参数是可选的
- 在findstr/r中表示按其中指定的字符集匹配
- 在findstr/r中表示在此位置匹配一个任意字符
- 在路径中表示在此位置通配任意一个字符
- 紧跟在
/
后表示获取命令的帮助文档
推荐阅读
- 安卓六大布局
- 2获取APP CPU占用率
- ionic真机调试Android报错 - could not read ok from ADB Server * failed to start daemon * error: cannot conn
- html5 如何打包成apk,将H5封装成android应用APK文件的几种方法
- 安卓面试
- android shape 怎么在底部画横线
- 「Android」GreenDao
- Android开发中常见的设计模式——策略模式
- CSAPP Lab(Bomb Lab(从拆弹到爆炸。。。)