2017-02-15 10 views
1

Я создал пакетный файл для копирования файлов с ftp-сервера на общий диск. Я новичок в написании сценариев. Когда я запускаю .bat-файл, я получаю сообщение об ошибке «Исходная папка не найдена». Если я использую WINSCP, я могу попасть в каталог и увидеть файлы без проблем.Пакетный файл не скопирует файлы

@Echo Off 
ftp xxxxxx.org xxx 
Set _UserName=xxxxxxxx 
Set _Password=xxxxxxxx 
set Source=ftp://ftp.xxxxxx.org/LOPE/mobiledoc   
set Target=Z:\Scanned_Documents\LOPE 
set FileList=Z:\Scanned_Documents\LOPE\FileList_LOPE.idx 

if exist Z:\Scanned_Documents\LOPE\NUL echo "Folder already exists" 
if not exist Z:\Scanned_Documents\LOPE\NUL echo "Folder does not exist" 
if not exist "%Source%" echo Source folder "%Source%" not found & goto Exit 
if not exist "%FileList%" echo File list "%FileList%" not found & goto Exit 
if not exist "%Target%" md "%Target%" 


for /F "delims=" %%a in ('type "%FileList%"') do copy "%Source%\%%a" "%Target%" 

:Exit 
echo. 
echo press the Space Bar to close this window. 
pause > nul
+0

Я изменил пару вещей: я удалил эхо. Я помещаю кавычки вокруг операторов Target и Filelist. Я также зашел в файл списка файлов и добавил каталог в имя файла в файле fileList. – user2576682

+0

Ошибка, которую я получаю, неверна. Имя файла, имя каталога или синтаксис метки volumn неверно. – user2576682

ответ

0

В вашем скрипте есть несколько проблем. Пока вы отлаживаете его, я бы порекомендовал вам временно прокомментировать первую строку @Echo off, чтобы вы могли видеть, что происходит.

Что касается вашего конкретного вопроса: if not existне проверяет на наличие файлового объекта на FTP-сервере. Он работает только с файловой системой.