You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Amazon S3 CLI复制文件报错:指定目录不存在

解决AWS S3 CLI上传Windows目录文件时的「No such file or directory」错误

看起来你遇到的是Windows环境下AWS CLI路径解析的典型问题,结合你的场景,我整理了几个快速解决的方案:

方案1:给路径加引号并添加递归参数

Windows命令行中,反斜杠\是转义字符,直接写路径可能导致CLI解析出错。你可以给完整路径加上双引号,同时必须加上--recursive参数(这个是核心,否则CLI只会尝试上传目录本身,而不是里面的文件):

aws s3 cp "C:\Work\jpg" s3://{bucket}/Test --recursive

注意不要在路径末尾加反斜杠\,否则可能会干扰引号的解析,导致路径识别错误。

方案2:先切换到目标目录再执行命令

先通过cd命令进入你的测试文件夹,再执行上传命令,这样可以彻底避免路径转义的问题:

cd C:\Work\jpg
aws s3 cp . s3://{bucket}/Test --recursive

这里的.会被正确识别为当前目录,加上--recursive就能把所有.jpg文件上传到S3的Test前缀下。

方案3:改用正斜杠表示路径

在AWS CLI中,Windows路径也可以用正斜杠/来表示,这样就不会有转义字符的干扰:

aws s3 cp C:/Work/jpg s3://{bucket}/Test --recursive

为什么你的原命令会报错?

  1. 缺少--recursive参数:AWS CLI默认只会处理单个文件,不会遍历目录下的内容;
  2. 路径末尾的反斜杠问题:Windows环境下,路径末尾的\会被当作转义字符,导致CLI错误解析路径,误以为找不到C:\Work\jpg\这个目录。

内容的提问来源于stack exchange,提问作者PRMan

火山引擎 最新活动