代码之家  ›  专栏  ›  技术社区  ›  knub

使用gsutil重命名GCS中的文件夹

  •  3
  • knub  · 技术社区  · 6 年前

    根据 documentation

    gsutil mv gs://my_bucket/olddir gs://my_bucket/newdir
    

    然而,发生的是 olddir 放在下面 newdir ,即目录结构如下(在调用 gsutil mv ):

    my_bucket
        newdir
            olddir
    

    my_bucket
        newdir
    

    我试过所有四种组合,不管是不是放尾随斜杠,但都不管用。

    3 回复  |  直到 6 年前
        1
  •  4
  •   knub    6 年前

    这是地面军事系统中的确认错误,请参阅 https://issuetracker.google.com/issues/112817360

    实际上只有当 newdir olddir gsutil 从问题中调用实际上是可行的,但下面的一个不行:

    gsutil mv gs://my-organization-empty-bucket/dir_old gs://my-organization-empty-bucket/dir
    
        2
  •  1
  •   Tzigan    6 年前

    我用一个名为olddir的文件夹的bucket复制了您的案例,我想将其内容移动到newdir文件夹。

    以下命令:

     gsutils mv gs://<bucketname>/olddir gs://<bucketname>/newdir
    

    Olddir和newdir文件夹在bucket根目录中处于同一级别。 在那之后,我只需要删除名为olddir的文件夹。

    无法重命名存储桶中的对象。

    gsutil mv命令不会像mv comand在Unix CLI中那样删除前面的文件夹对象。

    我想,如果您多次尝试使用不同位置的“/”字符移动文件夹,那么在发出初始命令后,文件夹的结构和层次结构将发生更改。

    请从头再试。