如果路径包含空格,则 adb 命令无法执行

Ven*_*esh 3 shell terminal command-line android adb

我正在尝试使用 adb 命令删除文件。但该文件包含空格。所以 adb 命令在读取文件名的一半直到空格后抛出错误。有没有办法克服这个问题。我正在执行以下 adb 命令

当我执行

adb shell rm /sdcard/samsung_Nexus S_converter.xml
Run Code Online (Sandbox Code Playgroud)

错误信息:/sdcard/samsung_Nexus rm 失败,没有那个文件或目录

当我执行时:

adb shell rm /sdcard/samsung_Nexus_S_converter.xml
Run Code Online (Sandbox Code Playgroud)

文件删除成功

如果有任何解决方法,我为此搜索了解决方案。我怎么也找不到。

ka3*_*3ak 7

对我来说,用反斜杠转义空格是不够的:

$ adb shell ls /storage/sdcard1/audio/Die\ Toten\ Hosen/
/storage/sdcard1/audio/Die: No such file or directory
Toten: No such file or directory
Hosen/: No such file or directory        
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我还必须用'(单引号)包围路径:

$ adb shell ls '/storage/sdcard1/audio/Die\ Toten\ Hosen/'                                                                                                                       
03 - Boxed Set                                                                                                                                                                                                     
04 - Compilations                                                                                                                                                                                                  
05 - Live Albums                             
Run Code Online (Sandbox Code Playgroud)

虽然包围而不逃跑不起作用:

$ adb shell ls '/storage/sdcard1/audio/Die Toten Hosen'                                                                                                                       
/storage/sdcard1/audio/Die: No such file or directory                                                                                                                                                              
Toten: No such file or directory                                                                                                                                                                                   
Hosen: No such file or directory      
Run Code Online (Sandbox Code Playgroud)


Mar*_*res 5

由于您使用的是命令行,因此您需要知道必须使用(在“空格”之类的特殊字符之前使用反斜杠)来转义空格,因此,在您的情况下,这也应该起作用:

adb shell rm /sdcard/samsung_Nexus\ S_converter.xml

希望能帮助到你!

问候!