我正试图从谷歌云存储下载一批10个文件。我有一个包含数千个文件的bucket。我可以使用用户界面进行搜索和筛选,直到我选择了需要下载的10个文件。我知道我可以手动点击";下载";对于每一个,然后保存到我的计算机上,但当我选择所有要下载的代码时,我会得到以下要复制和粘贴的代码片段:
gsutil -m cp
"gs://class-reports/ShamaliChauhan-2022-06-24 20H50M33S480MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-06-29 17H19M51S157MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-06-29 17H21M37S096MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-06-29 17H27M28S043MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-06-29 17H44M49S566MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-06-29 17H46M12S639MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-08-19 12H01M59S639MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-08-22 10H02M07S922MS.pdf"
"gs://class-reports/ShamaliChauhan-2022-09-07 11H28M15S384MS.pdf"
"gs://class-reports/VP1 basic-ShamaliChauhan-2022-06-24 18H07M50S806MS.pdf"
.
轻松,对吧?我只是将这些代码复制并粘贴到我的Google Cloud SDK Shell中(它已连接并运行gsutil,对吗?(,然后我得到了这个:
C:UsersshaedDesktopShamali>gsutil -m cp
CommandException: Wrong number of arguments for "cp" command.
C:UsersshaedDesktopShamali> "gs://class-reports/ShamaliChauhan-2022-06-24 20H50M33S480MS.pdf"
The filename, directory name, or volume label syntax is incorrect.
但是第二个错误出现了10次,每个我试图下载的文件都会出现一次。
我在这里发现了这个问题:如何使用gsutil 在谷歌云存储中下载多个文件
它提到了同样的问题,并暗示这可能与斜线没有转义换行符(以及潜在的额外空格(有关,因此它单独运行建议代码的每一行。我想知道我的设置是否有问题,或者我需要做些什么才能使用预先制作的代码将多个指定的文件(不是所有文件都在一个存储桶中(下载到我电脑上的文件夹中。这似乎是一件很容易的事,但实施起来却非常困难。
有什么想法吗?
我知道这是一个老问题,但由于我遇到了同样的问题,我会发布我的答案,以防其他人也遇到它。
如果您试图在windows中执行此操作,则反斜杠不会被识别为有效的多行字符。
如果使用CMD,请尝试将\替换为^(正如@DazWilkin已经指出的那样(。
即CMD:
gsutil -m cp ^
"gs://class-reports/ShamaliChauhan-2022-06-24 20H50M33S480MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-06-29 17H19M51S157MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-06-29 17H21M37S096MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-06-29 17H27M28S043MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-06-29 17H44M49S566MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-06-29 17H46M12S639MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-08-19 12H01M59S639MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-08-22 10H02M07S922MS.pdf" ^
"gs://class-reports/ShamaliChauhan-2022-09-07 11H28M15S384MS.pdf" ^
"gs://class-reports/VP1 basic-ShamaliChauhan-2022-06-24 18H07M50S806MS.pdf" ^
.
或者(如果您只想在Windows中按原样使用命令(,您可以在Windows中安装WSL并启用linux子内核。然后,您可以从终端登录到linux子内核(通过在windows终端中键入wsl(,安装linux所需的相关utili,并从wsl子系统内部运行命令