Как указать исходный и целевой FTP-каталоги в скриптовой задаче? - PullRequest
1 голос
/ 11 декабря 2008

Я на лету создаю скрипт для ftp-файлов с удаленного компьютера. Я создаю файл, который затем вызывается из командной строки с

ftp -s:filename proxy

где filename - файл, который я только что создал. Файл имеет код, подобный следующему:

anonymous@ip address
username
prompt off
binary
cd c:\destination directory
mget c:\source directory\*.*
quit

Это не работает. Не делает следующее:

anonymous@ip address
username
prompt off
binary
cd c:\source directory
mput c:\destination directory
quit

Очевидно, я не очень хорош в ftp. Как, в каком порядке, где в моем файле я указываю место, куда я хочу поместить файлы (каталог назначения, а также откуда запускается процесс ftp), и откуда я хочу, чтобы файлы приходили (IP-адрес компьютер, на котором есть файлы, которые я хочу). Нужно ли устанавливать каталог перед запуском процесса ftp?

Я запускаю это в пакете служб SSIS и не использую задачу SSIS ftp, потому что не хочу сбоя, если файлы не найдены. Если там ничего нет, это круто. Если там что-то есть, я хочу копию.

(Это работало в моей области разработки, и теперь, когда я пытаюсь получить файлы с сервера, к которому у меня действительно нет доступа, кроме ftp, я ничего не получаю. См. Как избежать Не удалось выполнить задачу SSIS FTP при отсутствии файлов для загрузки? для более раннего связанного вопроса.)

Обновление: Оба ответа ниже, перечисляющие lcd и cd, верны. Однако мой пример все еще не удался, пока я не заменил обратные косые черты на прямые. Другими словами, мой окончательный рабочий результат выглядит следующим образом:

anonymous@ip address
username
prompt off
binary
lcd /destination directory
cd /source directory
mget *.*
quit

Ответы [ 2 ]

1 голос
/ 11 декабря 2008

Вы ищете LCD и CD, где LCD меняет каталог на локальном компьютере? EG:

LCD c:\destination directory
mget c:\source directory\*.*
1 голос
/ 11 декабря 2008

В большинстве ftp-клиентов вы можете установить рабочий каталог на сервере с помощью команды cd , а рабочий каталог на клиенте - с помощью команды lcd .

Но мне не ясно, что вы пытаетесь сделать.

Вы пытаетесь переместить или скопировать файлы, которые находятся на FTP-сервере, в другое место на FTP-сервере? Насколько я знаю, вы не можете сделать это с помощью ftp. Если вы хотите скопировать файлы из одной папки на ftp-сервере в другую, то, я думаю, вы получите копию в локальной системе, а затем повторно загрузите их в новую папку. Если вы хотите переместить файлы, вы можете использовать команду rename .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...