Копирование из Windows в Linux без копирования всего пути - PullRequest
0 голосов
/ 29 октября 2018

Я использую Cygwin для копирования всех файлов в локальной папке Windows в экземпляр EC2 linux внутри powershell. Когда я пытаюсь скопировать все файлы в папке, он копирует путь в виде папки:

\cygwin64\bin\scp.exe -i "C:\cygwin64\home\Ken\ken-key-pair.pem" -vr \git\configs\configs_test\ ec2-user@ec2-22-75-189-18.compute-1.amazonaws.com:/var/www/html/temp4configs/

копирует правильные файлы, но неверно включает путь в формате Windows, например:

/ вар / WWW / HTML / temp4configs / \ мерзавец \ конфиги \ configs_test / file.php

Я попробовал звездочку после папки без -r, например:

\cygwin64\bin\scp.exe -i "C:\cygwin64\home\Ken\ken-key-pair.pem" -v \git\configs\configs_test\* ec2-user@ec2-22-75-189-18.compute-1.amazonaws.com:/var/www/html/temp4configs/

но это вернет ошибку, такую ​​как

"gitconfigsconfigs_test *: нет такого файла или каталога"

Что я могу сделать, чтобы скопировать файлы без копирования пути?

Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

При использовании программ cygwin безопаснее использовать POSIX Path, и большую часть времени это единственный выход. Чтобы перейти из окна в posix PATH, используйте cygpath

$ cygpath -u "C:\cygwin64\home\Ken\ken-key-pair.pem"
/home/Ken/ken-key-pair.pem

$ cygpath -u "C:\git\configs\configs_test\ "
/cygdrive/c/git/configs/configs_test/

Использование Windows One приведет к неправильному пониманию сервером запроса клиента

...