Скрипт для ftp windows

Скрипт для ftp windows

Сообщения: 1579
Благодарности: 231

Конфигурация компьютера
Материнская плата: ASUS M4A77TD
HDD: SSD Kingston SKC400 512GB + TOSHIBA DT01ACA200
Звук: шось VIAшное на борту
CD/DVD: NEC старенький + Optiarc серенький
Ноутбук/нетбук: Fujitsu SH531
Профиль | Отправить PM | Цитировать

Доброго времени суток!

Необходим скрипт, который при запуске будет выполнять следующие действия:

0. Пингуется хост с фтп-сервером. При нормальном отклике выполняется пункт 1, в противном случае выдает окно с надписью («перезагрузите модем»)
1. Соединяется с фтп-сервером (с логином и паролем)
2. Берет все файлы из указанной папки
3. Заливает их на фтп в указанный каталог
4. Закрывает соединение и завершает работу.

Подскажите, пожалуйста, возможно ли это сделать средствами Windows XP, или необходимо отдельно писать программу, к примеру на Делфи, которая будет все это прокручивать?
Если возможно, то направьте куда копать, а то в программировании не силен.

——-
Благими намірами вистелений шлях у пекло

Сообщения: 51908
Благодарности: 14931

Конфигурация компьютера
Материнская плата: ASUS P8Z77-V LE PLUS
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб
Звук: Realtek ALC889 HD Audio
CD/DVD: ASUS DRW-24B5ST
ОС: Windows 8.1 Pro x64
Прочее: корпус: Fractal Design Define R4

James Marsh, воспользуйтесь фильтрами по названию темы по ftp .

FTP через командную строку cmd

FTP через командную строку cmd

Продолжаем тему работы с FTP сервером! Мы уже рассмотрели основы протокола FTP, а так же способы работы с FTP сервером, а сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.

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

Основные команды для работы с FTP сервером через командную строку CMD

И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка) или Win+R \ cmd.

Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду FTP

Далее необходимо подключиться непосредственно к серверу, с которым мы будем работать, делается это через команду OPEN АДРЕС_FTP_СЕРВЕРА

Вводим ИМЯ_ПОЛЬЗОВАТЕЛЯ который имеет доступ к данному серверу и ПАРОЛЬ

Если мы ведем команду DIR то нам выведется список файлов и папок которые содержатся на FTP сервере.

Я не буду рассказывать о всех командах, которые используются для работы с FTP сервером через командную строку, а только те, которые нам понадобится для написания скрипта. Главным образом это команды, позволяющие копировать файлы с FTP-сервера на наш локальный компьютер и наоборот с локального компьютера на FTP-сервер.

Вы всегда можете набрать команду HELP и вам выведется список поддерживаемых команд, чтобы узнать назначение команды достаточно ввести HELP НАЗВАНИЕ_КОМАНДЫ.

Но, тут описание очень скромное, поэтому, если вы хотите узнать более подробное описание различных команд, заходите ко мне на сайт в тематическую статью. Ссылку я размещу в описании к данному видео.

Читайте также:  Windows 10 сама ставит драйвера или нет

У меня нет доступа для непосредственно записи файлов в корень данного FTP-сервера, но есть доступ к папке htdocs, поэтому для начала перейдём в данную папку. Делается это команды CD ИМЯ_ПАПКИ.

Мы видим, что в данной папке у нас ничего нет. Давайте попробуем скопирую сюда какой-нибудь файл с нашего локального компьютера. Для этого на локальном компьютере создадим папочку, допустим у меня это будет nod32_update так как в одном из следующих видео, я буду рассказывать о том, как написать скрипт для автоматического обновления антивируса NOD32. И давайте создадим какой-нибудь текстовый документ допустимым 123.txt.

Чтобы скопировать файл 123.txt на FTP-сервер вводим команду PUT c:\nod32_update\123.txt. Файл скопирован, можем проверить это командой DIR. Как вы видите, файл скопировался именно в ту папку, в которую мы перешли через команду CD.

Если нам необходимо скопировать все файлы с определенной папки на локальном компьютере в папку на FTP сервере, то нам необходимо указать текущий локальный каталог и каталог на сервере.

Каталог на сервере мы научились указывать, через команду CD

Локальный каталог указывается через команду LCD, если мы её наберем, то увидим, что текущий каталог — это папка с профилем текущего пользователя. А так как я собираюсь копировать файлы из другой папки то ввожу команду LCD ПУТЬ_К_НУЖНОЙ_ПАПКЕ

В чем суть, есть команда MPUT которая копирует файлы из локальной папки на удаленную и она не запрашивает какие именно это папки, поэтому нам эту информацию нужно сообщить.

Для того, чтобы скопировать все файлы из локальной папки в удаленную я указываю команду MPUT *.*, где *.* означает все файлы находящиеся в локальной папке.

Здесь у нас задаётся вопрос подтверждение для каждого файла хотим его скопировать или нет для этого живём Enter. Чтобы подобные подтверждение не выводились есть команда PROMT отключает интерактивный режим выключен.

Теперь попробуем сделать обратное действие, а именно скопировать все файлы с удаленной папки на FTP сервере в локальную. Делается это через команду MGET *.*.

Как видите всё отлично, в нашей папке появились все необходимые файлы и теперь мы можем закончить работу с FTP сервером через команду QUIT.

FTP Scripts on windows

I found this Microsoft KB article today #96269 which shows you how to use the ftp program that comes with all versions of windows an automate a file transfer.

The contents of script.txt might look like this:

This is handy for administration between servers, but keep in mind that FTP sends passwords in clear text. You should use FTP over SSL or SFTP instead.

Like this? Follow me ↯

FTP Scripts on windows was first published on January 31, 2003.

If you like reading about windows, ftp, utils, or tips then you might also like:

Comments

I am running a .bat file that calls an ftp server and references the commands using a .txt file. Everything is working well.

My problem is when the built in windows FTP client tries to download a file from the ftp server using the get command, if the file does not exist on the server, it wipes out the file that is locally on my C: drive and leaves me with a blank file.

I must always keep the field headers in this file and as such I must make sure that if there is no file on the server to leave the one locally alone.

How can this be done?

(Is there a way to first look to see if the file exist and only then initiate the download?)

Need help — — — — — — Thanks!

To get this to work for me, my script had to look like this:

open ftp.server.com
user name passwd
bin
get filename filename
bye

and my ftp invocation needed the -n

ftp -n -s:script.txt

Hi, I am trying to write a batch file that calls another text file with commands. My command prompt screen just keeps on scrolling when i click on the batch file. Here is what i have in batch file:
ftp -s:ftpbat.txt
prompt

And here is what i have in ftpbat.txt
open uhc51ip
user name
password

Can anyone tell me what is the mistake i am doing here.
Thanks in advance.

I’m logged onto windows machine and have to get files from a unix server. So i created my script.txt as follows:

userid
password
bin
cd /mydir
get file1
bye

Читайте также:  Windows реестр правая клавиша мыши

..and execute the script with:
ftp -s:ftpscript.txt server1

this works fine for 1 file, but i want to get over 10,000 files all with very different names; mget prompts for Y/N response; i can’t get the folder name because there are over 60,000 files in the directory and i only want 10,000;
is there a command to read the entire list of files i want to ftp from a file and ftp?

I have to write a batch script which download file from ftp server(unix environment) which contain several same name

file with different modified date. Batch file should take two parameters file name and last modified date.that

script go to server and match file name according to its lastmodified date and download it to windows environment .

I have to write a batch script which download file from ftp server(unix environment) which contain several same name

file with different modified date. Batch file should take two parameters file name and last modified date.that

script go to server and match file name according to its lastmodified date and download it to windows environment .

Скачивание, загрузка и удаление файлов с FTP-сервера из командной строки

Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, при работе с распределенными базами данных 1С или для сохранения резервных копий. Но не все знают, что эти процедуры можно выполнять из командной строки, не прибегая к дополнительному программному обеспечению, то есть средствам Windows. Ниже я приведу синтаксис команд для работы с FTP, а также примеры bat-файлов для этих операций.

1. Команда ftp

Для обмена файлами с FTP-сервером используется команда ftp, вот ее синтаксис:

FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [узел]

-v Отключение вывода на экран ответов с удаленного сервера.
-n Отключение автоматического входа при начальном подключении.
-i Отключение интерактивных запросов при передаче нескольких
файлов.
-d Включение отладочного режима.
-g Отключение глобализации имен файлов (см. команду GLOB).
-s:имя_файла Задание текстового файла, содержащего команды FTP, которые
будут выполняться автоматически при запуске FTP.
-a Использование локального интерфейса для привязки соединения.
-A Анонимный вход в службу.
-x:send sockbuf Переопределение стандартного размера буфера SO_SNDBUF (8192).
-r:recv sockbuf Переопределение стандартного размера буфера SO_RCVBUF (8192).
-b:async count Переопределение стандартного размера счетчика async (3)
-w:windowsize Переопределение стандартного размера буфера передачи (65535).
узел Задание имени или адреса IP удаленного узла,
к которому необходимо выполнить подключение.

Как видно, здесь нет операторов для подключения к серверу и работы с файлами. Дело в том, что эта команда только запускает сеанс ftp:

Далее, работа с FTP-сервером происходит уже при помощи следующих операторов (пропустить) :

!
Временный переход в оболочку.

append
Добавление в файл.

ascii
Установка режима передачи файлов в формате ascii.

bell
Выдача звукового сигнала по завершении команды

binary
Установка режима передачи файлов в двоичном формате.

bye
Завершение сеанса ftp и выход.

cd
Изменение рабочего каталога на удаленном компьютере, где:
— имя каталога, который станет рабочим.

close
Завершение сеанса ftp.

debug
Переключение режима отладки.

delete
Удаление файла на удаленном компьютере, где:
— имя файла для удаления.

dir [ ] [ ]
Вывод содержимого каталога удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

disconnect
Завершение сеанса ftp.

get [ ]
Получение файла, где:
— удаленный файл для копирования;
имя файла на локальном компьютере.

glob
Переключение метасимвольного расширения имен локальных файлов.

hash
Переключение вывода «#» для каждого переданного блока данных.

help [ ]
Вывод справочных сведений для команды ftp, где:
Команда, описание которой будет выведено, если не задана, произойдет вывод всех команд.

lcd [ ]
Изменение локального каталога рабочего компьютера, где:
— Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.

literal
Отправка произвольной команды ftp, где:
— команды для отправки;

ls [ ] [ ]
Вывод сокращенного содержимого каталога удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mdelete …
Удаление нескольких файлов на удаленном компьютере, где:
— имена файлов для удаления.

mdir …
Вывод содержимого нескольких каталогов удаленного компьютера, где:
— каталог, содержимое которого будет выведено;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mget …
Получение нескольких файлов, где:
— удаленный файл для копирования.

Читайте также:  Мастер общего доступа windows 10 что это

mkdir
Создание каталога на удаленном компьютере, где:
— имя удаленного каталога для создания.

mls …
Вывод сокращенного содержимого нескольких каталогов удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список.

mput
Отправка нескольких файлов, где:
— имя локальных файлов, которые будут скопированы.

prompt
Переключение интерактивной подсказки для составных команд.

put [ ]
Отправка одного файла, где:
— имя локального файл для копирования;
— имя файла на удаленном компьютере.

pwd
Вывод рабочего каталога удаленного компьютера.

quit
Завершение сеанса ftp и выход в командную строку.

quote
Отправка произвольной команды ftp, где:
— команда для отправки.

recv [ ]
Получение файла с использованием текущих настроек типов файлов, где:
— удаленный файл для копирования;
— имя файла на локальном компьютере.

remotehelp [ ]
Получение справочных сведений о командах удаленной системы, где:
— команда удаленной системы, если не задан, то выводится список всех команд.

rename
Переименование удаленного файла, где:
— имя файла для переименования;
— новое имя файла.

rmdir
Удаление каталога на удаленном компьютере, где:
— имя каталога для удаления.

send [ ]
Копирование одного файла с использованием текущих настроек типов файлов, где:
— имя локального файл для копирования;
— имя файла на удаленном компьютере.

status
Отражение текущего состояния подключения ftp.

trace
Переключение трассировки пакетов.

type [ ]
Установка типа передачи файлов, где:
— тип передачи файлов, если не указан будет выведен текущий тип передачи файлов.

user [ ] [ ]
Отправка сведений для подключения к удаленному компьютеру, где:
— имя пользователя для подключения к удаленному компьютеру;
— пароль, для указанного имени пользователя, если не указан, но требуется для подключения, команда ftp запросит его у пользователя;
— учетная запись для подключения к удаленному компьютеру, если не указана, но требуется для подключения, команда ftp запросит ее у пользователя;

verbose
Переключение режима вывода сообщений.

Рассмотрим небольшой пример.

Пусть у нас есть FTP-сервер с адресом tavalik.ru, имя пользователя для подключения — tavalik, пароль — 1234567890. Требуется загрузить на сервер в директорию «Temp\Backup» файл file_data.dat из «C:\example», а затем сохранить его же на локальный компьютер, в эту же директорию, но уже под именем file_from_ftp.dat.

Для этого необходимо выполнить следующий набор команд:

В итоге получим требуемый результат:

Обратите внимание, что при указании полного пути на FTP-сервере используется знак «/» между директориями, а для указания пути на локальном компьютере будет использоваться, как обычно, знак «\». Кроме того, если путь будет содержать пробелы, то следует заключить его в кавычки.

Возможен также запуск команды ftp и в пакетном режиме. Эту же задачу можно решить, выполнив команду «ftp -v -n -s:transport.txt» ,

где файл transport.txt находится в директории «C:\example» и содержит тот же набор операторов:

2. Пример bat-файла для загрузки файла на FTP

Теперь попробуем написать «батник» для загрузки файлов на FTP-сервер. Для этого создадим новый текстовый документ, и переименуем его в put_on_ftp.bat . Редактировать его можно обычным Блокнотом, но удобнее это делать с помощью бесплатной программы Notepad++.

Для начала напишем «батник», который будет загружать на сервер tavalik.ru файл file_data.dat из «С:\example» . Алгоритм работы bat-файла будет такой:

  • Создаем файл transport.txt с последовательностью операторов ftp;
  • Выполняем команду ftp, указав в качестве параметров созданный файл;
  • Удаляем transport.txt.

В данном примере имя файла и директорий жестко прописаны в файле. Это не всегда удобно. Доработаем bat-файл таким образом, чтобы данные для загрузки он получал в качестве параметров, а также вынесем все изменяемые значения в переменные файла. Получим следующий код (скачать файл):

Соответственно, чтобы скопировать файл file_data.dat из «C:\example» на FTP-сервер в «Temp\Backup» , потребуется запустить этот «батник» указав в качестве параметров имя файла, локальный и удаленный каталоги.

Аналогичным образом можно написать bat-файлы для получения файлов и удаления файлов на FTP-сервере, а также исполняющий файл с произвольным набором инструкций.

Смотрите также:

Не все знают, что можно создать прямую ссылку на файл, хранимый на FTP-Сервере, «зашив» в нее логин и пароль. Также возможно создать ярлык на какую-либо директорию или даже подключить ее…

Может случиться так, что в процессе установки MS SQL Server 2012 были установлены компоненты, необходимость в которых со временем отпала (или были установлены по ошибке). В этом случае, в целях…

FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…

Оцените статью