2016-11-11 2 views
1

Я использовал сценарий .bat для загрузки только pdf-файлов с FTP-сервера.Serverside FTP Batch script

До сих пор он отлично работал с использованием функции mget * pdf.

Недавно я перевел скрипт и запустил его с сервера Windows 2012 Server.

И теперь, когда скрипт переходит к функции mget, он перечисляет файлы, которые обычно передаются, кроме как с помощью? после каждого экземпляра он не может фактически загрузить их в lcd.

@ftp -v -n -i -s:C:\Users\LMCT\Desktop\Serversidesage\download-1.txt 

Это вызванная функция FTP.

open xx.xxx.xx.xxx 
user xxxxxxxxxxx 
=xxxxxxxxxxxx 
cd orders 
lcd "C:\Users\LMCT\Desktop\Magento-downloaded-orders" 
binary 
prompt 
mget *pdf 
mdelete *pdf 
quit 

И это сценарий загрузки.

Кто-нибудь знает, почему это может произойти?

Заранее спасибо.

С уважением, Льюис.

+1

Удалите '-v' из исполнения, чтобы вы могли видеть, что происходит. – Squashman

+0

Выполнение этого не выявило ничего нового. – LewisMCT333

+1

Покажите нам ВСЕ вывод команды FTP без использования -v при запуске скрипта. – Squashman

ответ

2

По умолчанию Интерактивное приглашение включено. Когда вы использовали опцию -I для запуска команды FTP, она отключается. В своем скрипте вы снова включаете его с помощью команды PROMPT, которая затем сбрасывает вашу команду MGET.

Так что, если ПОДСКАЖИТЕ команда находится в вашем FTP-скрипт:

open ftp.domain.com 
user ftpuser 
password 
prompt 
quit 

Это простой тест, чтобы увидеть, что происходит.

C:\BatchFiles\ftp>ftp -v -i -n -s:"script.txt" |find "Interactive" 
Interactive mode On . 

C:\BatchFiles\ftp>ftp -v -n -s:"script.txt" |find "Interactive" 
Interactive mode Off .