【问题标题】:android: adb pull file path limitation for windows?android:Windows的adb拉文件路径限制?
【发布时间】:2021-05-07 20:58:44
【问题描述】:

当我使用 adb pull 从手机中提取一些文件时,出现如下错误:无法创建“某些文件”:没有这样的文件或目录

The detail is: I create a file named "a.txt", under folder /mnt/sdcard/DCIM/100ANDRO/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv, the "v....v" is a folder I create under /mnt/sdcard /dcim/100ANDRO/, then I open command terminal and switch to C:/ and run the command : C:\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>adb pull /mnt/sdcard/DCIM/100ANDRO/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv folderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolder

这里:a........a 是我在 C:\ 磁盘中创建的文件夹,v....v 是我在 /mnt/sdcard/dcim/100ANDRO/ 下创建的文件夹,“文件夹...文件夹...文件夹”是我要创建的目标文件夹。

结果是:pull:构建文件列表...

pull: /mnt/sdcard/DCIM/100ANDRO/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv/a.txt -> folderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolder/a.txt
cannot create 'folderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderf
olderfolderfolderfolderfolderfolder\a.txt': No such file or directory

但如果目标文件夹长度较短,则命令成功!

C:\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaa>adb pull /mnt/sdcard/DCIM/100ANDRO/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv folderfolderfolderfolderfolderfo
lderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfolderfold
pull: building file list...
pull: /mnt/sdcard/DCIM/100ANDRO/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv/a.txt -> folderfolderfolderfolderfolderfolderfolderfolderfolder
folderfolderfolderfolderfolderfolderfolderfolderfolderfolderfold/a.txt
1 file pulled. 0 files skipped.
0 KB/s (12 bytes in 0.070s)

为什么会这样?它是 adb.exe 的缺陷吗?请帮忙,非常感谢。

【问题讨论】:

  • 这是因为文件名太长了吗?

标签: android


【解决方案1】:

查看以下链接: http://msdn.microsoft.com/en-us/library/aa365247.aspx

在 Windows API 中(以下段落讨论的一些例外情况),路径的最大长度为 MAX_PATH,定义为 260 个字符。

你的路径是否穿越 260/?

【讨论】:

  • 谢谢你的回答,它有帮助。但是如何在 Windows 的 Python 中使用长路径?
【解决方案2】:

我在使用 cmd.exe + 260 字符组策略编辑器/注册表修复 + 重启时遇到了这个问题。切换到 powershell 后,我就可以通过手机 adb pull 我的文件了。如果这不起作用,请尝试 git bash。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    相关资源
    最近更新 更多