如何将cygwin与sshd结合使用,从另一台机器上的Program Files(x86)目录中scp文件?

如何将cygwin与sshd结合使用,从另一台机器上的Program Files(x86)目录中scp文件?,cygwin,scp,parentheses,Cygwin,Scp,Parentheses,我有一台Linux机器和两台Windows机器。每个Windows计算机都包含一个带有sshd守护进程的cygwin。Linux机器是我正在使用的主要机器。在第一台Windows机器XP上,我有一个文件,我想与第二台Windows机器Windows 7上的文件进行比较 我的想法是,一旦我使用ssh连接到XP机器上,我应该能够轻松地使用scp命令在Windows 7机器上获取文件,然后运行diff来比较这两个文件,但它首先在“Program files”中的空格上出错,然后使用\来转义这些空格,它

我有一台Linux机器和两台Windows机器。每个Windows计算机都包含一个带有sshd守护进程的cygwin。Linux机器是我正在使用的主要机器。在第一台Windows机器XP上,我有一个文件,我想与第二台Windows机器Windows 7上的文件进行比较

我的想法是,一旦我使用ssh连接到XP机器上,我应该能够轻松地使用scp命令在Windows 7机器上获取文件,然后运行diff来比较这两个文件,但它首先在“Program files”中的空格上出错,然后使用\来转义这些空格,它在括号上出错

逃逸空间

$ scp root@10.10.10.10:/cygdrive/c/Program\ Files\ (x86)/myfile.xml .
-bash: syntax error near unexpected token `('
逃过一劫

$ scp root@10.10.10.10:/cygdrive/c/Program\ Files\ \(x86\)/myfile.xml .
root@10.10.10.10's password: 
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `scp -f /cygdrive/c/Program Files (x86)/myfile.xml'
使用变量

$ scpfile="/cygdrive/c/Program Files (x86)/myfile.xml"
$ scp root@10.10.10.10:$scpfile .
root@10.10.10.10's password: 
scp: /cygdrive/c/Program: No such file or directory
cp: cannot stat `Files': No such file or directory
cp: cannot stat `(x86)/myfile.xml': No such file or directory
我还尝试使用带有转义斜杠的变量,但没有成功


如果我将myfile.xml移动到/cygdrive/c/并将其scp,它将正常工作。如何使用cygwin的scp创建包含括号的目录中的scp文件?

如果创建指向Program files(x86)目录的软链接并使名称不带空格或括号,则可以将该目录与scp结合使用

关于Cygwin(10.10.10.10)

在Linux(运行scp的家庭计算机)上


而且它很有效

技术很棒。使用ssh插入并创建快速符号链接,然后从链接中获取文件要容易得多。谢谢
cd c:
ln -s "Program Files (x86)" PF86
scp root@10.10.10.10:/cygdrive/c/PF86/myfile.xml .