一、简介
批处理(Batch)也称作批处理脚本,即对某些对象进行批量化处理,扩展名为bat。
Windows批处理(cmd/bat)常用命令教程:https://www.cnblogs.com/xpwi/p/9626959.html
二、常用指令
1、输出和换行:
@echo off
echo hello world! #输出hello world!
echo. #换行
pause #暂停
运行结果:
2、md命令创建文件夹:
@echo off
md D:\test\a #在D盘创建文件夹
::空格隔开可以创建多个,文件名有空格需要加引号
md D:\test1 E:\test2 “F:\test3 abc” #分别在D、E、F盘创建文件夹
pause
3、if语句:
@echo off
set a=123
set b=abc
set c=12
::/i字符串大小写忽略
if /i %b% equ ABC (
if %a% geq %c% (
echo %a%^>=%c%
) else (
echo %a%^<%c%
)
) else (
echo %b%不等于ABC
)
4、goto 语句:
@echo off
:start #使用冒号加标记名作为goto语句的标记
set /p param=
echo %param%
if %param%==4 echo 请不要输入4! & goto start #如输入值为4会跳转至start继续执行
pause
5、set 语句:
@echo off
set a=1234 #设置变量a并赋值
echo %a% #输出变量a
pause
6、set定义数字表达式:
@echo off
set a=1&set b=2
set c=%a%+%b%
echo %c%
set d=a+b
echo %d%
pause
7、start语句:
@echo off
start d:\test01.txt #打开d盘test01的txt文件
start E:\aq\aq\AQ.exe #打开E盘的AQ录屏工具
Pause
8、rd命令删除文件夹:
@echo off
rd d:\test1 #删除空文件夹,不为空无法删除
rd /s d:\test2 #删除d:\test2下所有文件夹,不管是否为空,都会询问是否确认删除
echo 是否删除[Y/N]:
rd /s/q d:\test3 #/s /q联合使用,不会询问直接删除
pause
9、timeout延迟:
@echo off
set a=1
:start
echo %a%&set /a a=a+1 #以1的增序递增输出a的值
timeout 1 > nul #间隔1S输出a的值
goto start #跳转到 start 执行
pause
10、del删除文件:
@echo off
del d:\test01.txt #直接删除test01.txt文件,不需要确认
pause
del /q d:\test2 #删除该目录下所有层级文件不删除文件夹,不需要确认
del /s d:\test1 #删除该目录下所有层级文件不删除文件夹,需要逐个文件夹确认
11、上传文件到ftp:
@echo off
set test_data_path=%1
echo 开始上传目标图片至ftp
echo open 192.168.52.109 >ftp.up
echo xmdev>>ftp.up
echo chukongxm>>ftp.up
echo Cd .\TestBuilds\Fireball\auto-test\TestReport>>ftp.up
rem echo mdelete “.csv">>ftp.up
echo binary>>ftp.up
echo prompt>>ftp.up
echo lcd %test_data_path%>>ftp.up
echo mput ".csv”>>ftp.up
echo bye>>ftp.up
FTP -s:ftp.up
del ftp.up /q
echo 上传结束!
12、从ftp 下载目标图片:
echo 从 ftp 下载目标图片#!/bin/bash
ftp -n<<!
open 192.168.52.109
user xmdev chukongxm
binary
cd ./TestBuilds/Fireball/auto-test/Target_Img/iOS/{Target_File} lcd Target
F
ilelcd {local_folder}${Target_File}
prompt
mget *.png
bye
!
echo 下载结束!
13、从git库更新测试例:
@echo off
E:
cd E:\test-cases-3d
git add .
git commit -a -m “merge”
git reset --hard origin/v3.0
git pull origin v3.0
14、与安卓手机的一些交互,如安装应用、上传文件等:
@echo off
:: devices 请使用 -s 设备号,如 7XBNW19719013546
set devices= BIF6J7EQ99VGPBDQ
:: apk名称set apk_Name=中兴小游戏.apk
:: 应用包名set pkg_Name=com.zte.quickgame
echo 卸载应用…
adb -s %devices% uninstall %pkg_Name%
echo 安装apk ,请注意手机,是否需要手动点击安装…
adb -s %devices% install -r -g %apk_Name%
pause
echo 正在清空log\img\report目录,请稍等…
rd /s /q log
rd /s /q report
echo 清除log\img\report完成!md log
md report
pause
echo 按任意键开始测试……python3 monkeyTest.py %devices%
pause
15、安卓手机录屏命令:
@echo off
adb shell screenrecord --time-limit 10 --size 1920x480 /sdcard/demo.mp4
16、上传手机文件到电脑:
@echo off
adb pull /sdcard/demo.mp4 .\record\demo.mp4
pause
17、安卓手机截图:
@echo off
color b0
MODE con: COLS=25 LINES=10
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png .\screen.png
18、获取手机分辨率:
@echo off
mode con lines=6 cols=40
wmic DesktopMonitor get ScreenHeight,ScreenWidth
pause
19、抓取日志:
@echo off
color b0
MODE con: COLS=25 LINES=10
echo 准备抓取log日志,echo 任意键开始抓取日志pause
echo log日志抓取中echo 关闭CMD则停止抓取SET date=%DATE:/=-%
SET date=%date:~0,10%
SET time=%TIME:~0,0%
SET time=%TIME::=-%
SET time=%time:.=-%
SET timeStamp=%date%_%time%
adb logcat -v time > .“%timeStamp%_logcat.log”
20、导出ANR日志:
@echo off
adb pull /data/anr/traces.txt PC端目录
21、查看手机的当前Activity:
@echo off
adb shell “dumpsys window | grep mCurrentFocus”
pause