Использование RCP или FTP для копирования файлов с удаленной машины Unix на локальную машину Windows - PullRequest
0 голосов
/ 14 июля 2011

Я пытаюсь написать фрагмент кода, который использует ProcessBuilder для передачи файла с удаленного компьютера UNIX на локальный компьютер с Windows. В результате небольшого исследования я обнаружил, что RCP или FTP должны быть подходящими для использования.

Проведя некоторые исследования команды RCP, я нашел инструкции по копированию файлов из UNIX на компьютер с Windows, но они, похоже, не работают. Команда, которую мне сказали использовать, была:

rcp -r unixhost.user:/example/directory C:\Directory

Однако, используя это, я сказал, что C: не был хостом. Я попробовал это с IP-адресом, localhost, псевдонимом Windows PC в файле hosts, но ни один из них не работал, он либо сказал, что разрешение отказано, либо не смог подключиться к хосту. Посмотрев на ftp, кажется, что это был бы другой жизнеспособный вариант Я не уверен, что смогу выполнить команду с помощью ProcessBuilder для успешного достижения этого через FTP.

Будет ли rcp или ftp более подходящим для этой задачи? И как мне их использовать?

РЕДАКТИРОВАТЬ: Чтобы уточнить, сценарий / пакетный файл будет работать на компьютере Windows и перетаскивает файлы с компьютера UNIX в Windows.

1 Ответ

1 голос
/ 14 июля 2011

Может быть возможно избежать двоеточия в части назначения. Вы пытались указать место назначения?

rcp -r unixhost.user:/example/directory "C:\Directory"

Прошло много времени с тех пор, как я делал какие-либо вещи из командной строки для окон, но я помню, что символ обратной косой черты всегда был проблематичным. Возможно, вам придется использовать прямую косую черту в месте назначения, поскольку команда rcp использует командную строку. Вы также можете использовать обратную косую черту в качестве escape-символа, поэтому вы можете попробовать следующее:

rcp -r unixhost.user:/example/directory C\:/Directory

Если это не сработает, вы можете явно указать текущую букву диска перед вызовом команды rcp. Если вы используете командный файл, попробуйте следующие две строки:

c:
rcp -r unixhost.user:/example/directory \Directory
...