当我执行命令
时gcloud compute copy-files" C:\ Users \ fName lName \ Desktop \ testtext.txt" instancename:test.txt --zone europe-west1-a
我收到错误:"All sources must be local files when the destination is remote."
。
任何人都可以帮我弄清楚出了什么问题吗?
答案 0 :(得分:17)
为了复制您指定的文件testtext.txt,您需要位于该文件所在的路径中,并在复制而不是路径时指定其名称。
示例:从您的命令行开始假设您在此路径中:
C:\ Users \ fName lName \ Desktop \
您的命令应如下:
gcloud compute copy-files --zone europe-west1-b testtext.txt instancename:/PATH_where_you_want_the_file
答案 1 :(得分:10)
谢谢你问这个!这似乎是我们现在正在跟踪的gcloud中的一个错误。问题是gcloud compute copy-files
正在将C:\Users\fNam...
中的冒号解释为远程路径的一部分。正如George的回答所建议的,解决方法是避免包含冒号字符的本地路径。
答案 2 :(得分:6)
例如,要将远程目录复制到本地主机,请运行:
gcloud compute copy-files \
my-instance:~/remote-dir \
~/local-dir \
--zone us-central1-a
在上面的示例中,“my-instance”中的“/ remote-dir”被复制到“/ local-dir”目录中。 相反,可以将本地计算机中的文件复制到虚拟机:
gcloud compute copy-files \
~/my-local-file-1 \
~/my-local-file-2 \
my-instance:~/remote-destination \
--zone us-central1-a
这是一个真实的例子:
gcloud compute copy-files \
instance-4:~/ \
~/Desktop/project/scripts/step/folder/* \
--zone asia-east1-a \
--project 911911911911911 \
gcloud compute copy-files \
~/Desktop/project/scripts/step/folder/* \
instance-3:~/ \
--zone asia-east1-a \
--project 911911911911911 \
答案 3 :(得分:5)
代替" C:\ Users \ fName lName \ Desktop \ testtext.txt"
使用" \ Users \ fName lName \ Desktop \ testtext.txt" 。
这对我有用