Windows — Rsync не удается для сетевого подключенного диска формы кода C ++

Я пытаюсь отправить некоторые данные с подключенного диска в пункт назначения, я делаю это с помощью системной команды

Мой код

wstring cmd1 = L"\"C:\\Program Files\\cwRsync\\bin\\rsync.exe\" -cvriHPDkREL  --no-implied-dirs --stats /cygdrive/Z/32Bit /cygdrive/C/";
wstring syscmd = L"\"";
syscmd.append(cmd1);
syscmd.append(L"\"");
_wsystem(syscmd.c_str());

Вывод, который я получаю на консоли

sending incremental file list
rsync: link_stat "/cygdrive/Z/32Bit" failed: No such file or directory (2)

Number of files: 0
Number of files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 3
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 12
Total bytes received: 12

sent 12 bytes  received 12 bytes  48.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]

НОТА : когда я копирую ту же команду и запускаю ее в командной строке, все работает отлично. Я не могу понять, что не так. есть идеи?

0

Решение

Диски Cygwin (например, /cygdrive/Z) доступны только для приложений, которые ссылаются на библиотеки cygwin.

Вы, кажется, используете Windows-родной rsync это не связано с библиотеками cygwin и поэтому не понимает cygdrives. использование rsync из дистрибутива Cygwin, т.е. C:\cygwin\bin\rsync.exe,

Кроме того, сначала конвертировать пути Cygwin (например, /cygdrive/Z) в Windows родные пути с cygpath полезность и вместо этого используйте пути Windows.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]