当对象具有Windows不兼容的文件名

时间:2018-03-20 02:59:57

标签: amazon-web-services amazon-s3

尝试使用以下方法将我的s3存储桶中的所有内容复制到本地硬盘:

aws s3 cp s3://mybucket . --recursive

但是bucket的内容是一个日志流,对象名称如下:

logs/
├──2018-03-20/
│   ├──01:00+00/
│   │   └──01:10:06.521.csv.gz
│   ├──02:00+00/
│   │   └──02:22:09.306.csv.gz
etc

当我尝试复制时,我只得到名为logs/2018-03-20的空文件夹。我猜这是因为Windows不允许在文件夹或文件名中使用冒号,并且--recursive命令不会自动更正(当我从浏览器下载时,冒号会被下划线替换)。

我无法控制日志流输出。

任何人都有关于如何获取所有数据的建议(除了手动逐个文件)?有没有办法指定如何从cp --recursivesync命令输出文件名?

1 个答案:

答案 0 :(得分:2)

我能够使用'test:test'文件名设置一个用例,并在Windows 10虚拟机上使用Cyber​​Duck下载它们。 我只是拖动了包含该文件的文件夹,并在下载时将其重命名。

你可以在这里下载cyberduck

https://cyberduck.io/

干杯!