从Google Cloud Storage多目录批量下载文件遇错误求助
解决方法
问题根源
Excel是二进制格式文档,并非纯文本。你用cat读取它时,会把Excel内置的格式控制字符(包括空字符)一并传给gsutil,导致路径解析失败,触发embedded null character in path错误。
修复步骤
导出纯文本路径列表:
打开files.xlsx,选中存储GCS链接的列,复制所有内容到记事本,保存为files.txt(确保每一行对应一个标准GCS路径,比如gs://your-bucket/path/to/file)。也可以用Excel的「另存为」功能,选择「CSV(逗号分隔)」格式,只保留链接所在列,避免多余内容混入。用纯文本文件执行批量下载:
Windows环境下替换cat为原生的type命令,执行:type C:/Users/tm/files.txt | C:/Users/tm/AppData/Local/Google/Cloud_SDK/google-cloud-sdk/bin/gsutil.cmd -m cp -I C:/Users/tm/Desktop/files或者通过输入重定向传递文件内容:
C:/Users/tm/AppData/Local/Google/Cloud_SDK/google-cloud-sdk/bin/gsutil.cmd -m cp -I C:/Users/tm/Desktop/files < C:/Users/tm/files.txt排查异常路径:
如果仍有报错,打开files.txt逐行检查:确保没有空行、多余空格、中文符号等异常内容,所有路径均以gs://开头且格式正确。可以先选取少量路径测试,定位出问题条目修正后再批量执行。
内容的提问来源于stack exchange,提问作者Joman
相关产品推荐
相关产品推荐

