scrcpy 是一款非常高效的安卓投屏和控制工具,但使用时都是一堆参数修修改改,真的很麻烦。

为了提高效率,我用一个 BAT 脚本编写了一个简单的 CUI(字符用户界面)。这个脚本没有囊括 scrcpy 所有的复杂命令行选项,而是只聚焦于我日常工作中最常用的几个配置。
脚本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
@echo off
setlocal enabledelayedexpansion
title Scrcpy 投屏工具

:MENU
cls
echo ========================================
echo Scrcpy-bat-cui
echo @DNZJ
echo ========================================
echo.
echo [1] 标准投屏
echo [2] 高质量投屏
echo [3] 低延迟投屏
echo [4] 无线投屏设置
echo [5] 只看不控制
echo [6] 录屏到文件
echo [7] 查看已连接设备
echo [8] 退出
echo ========================================
echo.
set /p choice=请选择功能 [1-8]:

if "%choice%"=="1" goto STANDARD
if "%choice%"=="2" goto HIGH_QUALITY
if "%choice%"=="3" goto LOW_LATENCY
if "%choice%"=="4" goto WIRELESS
if "%choice%"=="5" goto VIEW_ONLY
if "%choice%"=="6" goto RECORD
if "%choice%"=="7" goto LIST_DEVICES
if "%choice%"=="8" goto EXIT
goto MENU

:STANDARD
cls
echo ========================================
echo 标准投屏设置
echo ========================================
set params=
call :SETTINGS_MENU
scrcpy !params!
goto MENU

:HIGH_QUALITY
cls
echo ========================================
echo 高质量投屏设置
echo ========================================
set params=--max-size 1920 --bit-rate 8M
call :SETTINGS_MENU
scrcpy !params!
goto MENU

:LOW_LATENCY
cls
echo ========================================
echo 低延迟投屏设置
echo ========================================
set params=--max-size 1024 --bit-rate 2M --max-fps 60
call :SETTINGS_MENU
scrcpy !params!
goto MENU

:VIEW_ONLY
cls
echo ========================================
echo 只看不控制设置
echo ========================================
set params=--no-control
call :SETTINGS_MENU
scrcpy !params!
goto MENU

:SETTINGS_MENU
echo.
echo --- 音频设置 ---
echo [1] 启用音频 (默认)
echo [2] 禁用音频
set /p audio=选择音频选项 [1-2, 直接回车跳过]:
if "%audio%"=="2" set params=!params! --no-audio

echo.
echo --- 屏幕设置 ---
echo [1] 保持手机屏幕开启 (默认)
echo [2] 关闭手机屏幕 (省电)
set /p screen=选择屏幕选项 [1-2, 直接回车跳过]:
if "%screen%"=="2" set params=!params! --turn-screen-off --stay-awake

echo.
echo --- 显示设置 ---
echo [1] 全屏显示
echo [2] 窗口模式 (默认)
set /p fullscreen=选择显示选项 [1-2, 直接回车跳过]:
if "%fullscreen%"=="1" set params=!params! --fullscreen

echo.
echo --- 画面方向 ---
echo [1] 自动旋转 (默认)
echo [2] 锁定竖屏
echo [3] 锁定横屏
set /p rotation=选择方向 [1-3, 直接回车跳过]:
if "%rotation%"=="2" set params=!params! --lock-video-orientation 0
if "%rotation%"=="3" set params=!params! --lock-video-orientation 1

echo.
echo --- 始终保持唤醒 ---
echo [1] 否 (默认)
echo [2] 是 (投屏时手机不休眠)
set /p awake=选择 [1-2, 直接回车跳过]:
if "%awake%"=="2" set params=!params! --stay-awake

echo.
echo --- 鼠标显示 ---
echo [1] 显示触摸点 (默认)
echo [2] 隐藏触摸点
set /p touch=选择 [1-2, 直接回车跳过]:
if "%touch%"=="2" set params=!params! --no-show-touches

echo.
echo --- 鼠标模式 ---
echo [1] 标准模式 (默认)
echo [2] UHID模式 (更好的手势支持,需Android 13+)
set /p mouse=选择 [1-2, 直接回车跳过]:
if "%mouse%"=="2" set params=!params! --mouse=uhid

echo.
echo --- 帧率限制 ---
set /p fps=输入最大帧率 (默认不限制,推荐30-60):
if not "%fps%"=="" set params=!params! --max-fps %fps%

echo.
echo --- 码率设置 ---
set /p bitrate=输入码率 (如: 2M, 4M, 8M,直接回车跳过):
if not "%bitrate%"=="" set params=!params! --bit-rate %bitrate%

echo.
echo 正在启动投屏...
echo 参数: !params!
echo.
exit /b

:WIRELESS
cls
echo ========================================
echo 无线投屏设置
echo ========================================
echo.
echo 步骤说明:
echo [1] 请先通过USB连接手机
echo [2] 确保手机和电脑在同一WiFi网络
echo [3] 按任意键继续...
pause >nul

echo.
echo 正在启用无线调试模式...
adb tcpip 5555
timeout /t 2 >nul

echo.
set /p ip=请输入手机IP地址:
echo 正在连接 %ip%:5555...
adb connect %ip%:5555
timeout /t 2 >nul

echo.
echo 连接成功!现在可以拔掉USB线了
echo 按任意键启动无线投屏...
pause >nul

set params=
call :SETTINGS_MENU
scrcpy !params!
goto MENU

:RECORD
cls
echo ========================================
echo 录屏设置
echo ========================================
echo.
set /p filename=请输入录制文件名 (不含扩展名):
if "%filename%"=="" set filename=recording

set params=--record %filename%.mp4

echo.
echo --- 录屏时是否显示画面 ---
echo [1] 显示画面 (默认)
echo [2] 不显示画面 (后台录制)
set /p display=选择 [1-2]:
if "%display%"=="2" set params=!params! --no-display

call :SETTINGS_MENU
echo.
echo 正在录制到 %filename%.mp4...
echo 按 Ctrl+C 停止录制
scrcpy !params!
goto MENU

:LIST_DEVICES
cls
echo ========================================
echo 已连接的设备列表
echo ========================================
echo.
adb devices
echo.
echo 按任意键返回主菜单...
pause >nul
goto MENU

:EXIT
cls
echo 感谢使用 Scrcpy 投屏工具!
timeout /t 2 >nul
exit