从远程 Linux PC 下载文件到 Windows PC,文件路径包含空格

Download file to Windows PC from a remote Linux PC where the path to the file contains spaces

我尝试在 Powershell 和 windows 命令行中同时使用 scp 和 sftp。我也尝试从 Windows 10 Linux 子系统执行此操作,但到目前为止没有任何效果。

部分问题似乎是转义远程 Linux 文件路径,其中包含 space。我不能使用“\”,因为它被 Windows 错误地解释了。我也尝试过使用 ^ 和 ` 代替并使用单 and/or 双引号。

使用 Windows 命令:

C:\Users\psnow>scp dad@192.168.1.4:"//home/naomi/Documents/School Work/Misc/schedule.pdf" c:\Users\psnow\Downloads\schedule.pdf
dad@192.168.1.4's password:
scp: //home/naomi/Documents/School: No such file or directory
scp: Work/Misc/schedule.pdf: No such file or directory

这个看起来已经解决了 space 问题,但随后出现了这个奇怪的错误?

C:\Users\psnow>scp dad@192.168.1.4:"'//home/naomi/Documents/School Work/Misc/schedule.pdf'" c:\Users\psnow\Downloads\schedule.pdf
dad@192.168.1.4's password:
protocol error: filename does not match request

使用 Linux 子系统和 Powershell 都有相似的响应。

我找到的关于该主题的所有教程都使用没有 space 的简单示例。我也很乐意使用 sftp,但我也遇到了类似的问题。

你试过不用引号转义吗?

C:\Users\psnow>scp dad@192.168.1.4://home/naomi/Documents/School\ Work/Misc/schedule.pdf c:\Users\psnow\Downloads\schedule.pdf

或者,谷歌搜索告诉我你必须在 ""

中使用四个反斜杠进行转义
C:\Users\psnow>scp dad@192.168.1.4:"//home/naomi/Documents/School\\ Work/Misc/schedule.pdf" c:\Users\psnow\Downloads\schedule.pdf

很遗憾,我现在不能尝试这个..希望其中之一对你有用

更新:刚试过,上面的 none 对我有用

对我有用的:

C:\Users\psnow>scp dad@192.168.1.4:"//home/naomi/Documents/'School Work'/Misc/schedule.pdf" c:\Users\psnow\Downloads\schedule.pdf