PowerShell变量值传入ADB Shell命令失败求助
解决ADB input text传递带空格字符串的问题
- 问题根源:ADB的
input text命令会把空格识别为参数分隔符,直接传带空格的字符串会被拆成多个无效参数,触发报错。 - 直接可行的解决方法:把字符串里的空格替换成ADB专用的转义符
%s,再传递给命令:
$simpleString = "Hello World and stuff" # 将空格替换为ADB识别的空格转义符%s $formattedText = $simpleString -replace ' ', '%s' # 执行ADB命令 .\adb.exe shell input text $formattedText
- 补充说明:如果字符串包含
&、|这类Shell元字符,可先把整个字符串用单引号包裹,再替换空格:
$formattedText = "'$($simpleString -replace ' ', '%s')'" .\adb.exe shell input text $formattedText
内容的提问来源于stack exchange,提问作者renice
相关产品推荐
相关产品推荐

