Скрипт подключить ftp как диск

Обновлено: 19.05.2024

Конфигурация компьютера
Процессор: AMD Athlon II X3 455
Материнская плата: ASUS M4A77TD
Память: 4x2GB Kingston KVR1333D3N9 DDR3
HDD: SSD Kingston SKC400 512GB + TOSHIBA DT01ACA200
Видеокарта: NVidia GTX 1050Ti
Звук: шось VIAшное на борту
Блок питания: ZALMAN 500W
CD/DVD: NEC старенький + Optiarc серенький
Монитор: Iiyama ProLite XB2783HSU
Ноутбук/нетбук: Fujitsu SH531
ОС: Windows 10

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

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

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

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

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

Конфигурация компьютера
Процессор: Intel Core i7-3770K
Материнская плата: ASUS P8Z77-V LE PLUS
Память: Crucial Ballistix Tactical Tracer DDR3-1600 16 Гб (2 x 8 Гб)
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб
Видеокарта: ASUS ROG-STRIX-GTX1080-O8G-11GBPS
Звук: Realtek ALC889 HD Audio
Блок питания: be quiet! Straight Power 11 650W
CD/DVD: ASUS DRW-24B5ST
Монитор: ASUS VG248QE 24"
ОС: Windows 8.1 Pro x64
Индекс производительности Windows: 8,1
Прочее: корпус: Fractal Design Define R4

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

Решил немного усовершенствовать свой powershell скрипт, который реализует охрану при помощи wifi-камеры. Решил записывать на ftp-сервер видео-поток с камеры, когда дома никого нет. То есть кроме оповещения по email (когда вдруг что-то зашевелилось в кадре), видео будет постоянно записываться.

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

Подключение FTP стандартными средствами Windows

В Windows можно стандартными средствами подключить ftp как сетевой диск, но такой сетевой диск будет работать только из проводника (explorer), в командной строке он будет не доступен.

Опишу, как стандартными средствами подключить ftp в качестве сетевого диска.

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

Подключение к веб-сайту, на котором вы можете хранить документы и изображения

В следующих двух окнах жмем по кнопка "Далее" и указываем адрес ftp-сервера:

Указываем адрес ftp-сервера

Снова жмем кнопку далее, снимаем галочку возле "Анонимный вход" и указываем ftp-логин, жмем кнопки далее, готово.

В конце у Вас запросит пароль, вводим его и ставим галочку "Сохранить пароль", чтобы каждый раз его не вводить.

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

Подключение FTP через FTPUSE

После установки утилиты чтобы подключить сетевой диск нужно ввести команду (покажу на своем примере):

В работе программы есть два нюанса:

  • на подключенном диске всегда будет отображаться 512 МБ свободного места, не зависимо от того, сколько там его осталось. Но мне это не мешает.
  • если закрыть окно командной строки из которого запускался FTPUSE, то диск размонтируется. Мне это не мешает, так консоль у меня всегда запущена. Если же окно все-таки хочется скрыть, то запускаем FTPUSE вот такой командой:

Ну и краткая информация о параметрах FTPUSE:

FTPUSE devicename [ftphostname[/remotepath] [password]]
[/USER:username]
[/NOPASSIVE]
[/OWNERACCESSONLY]
[/PORT:portnumber]
[/DEBUG]
[[/DELETE]]

  • devicename - имя подключаемого/отключаемого диска
  • ftphostname - адрес FTP сервера
  • remotepath - имя удаленной папки, которая будет использоваться родительская папка создаваемого диска
  • password - пароль для подключения к FTP серверу
  • /USER - логин на FTP сервере
  • /NOPASSIVE - активное соединение с FTP сервером (active mode)
  • /OWNERACCESSONLY - делает созданный диск доступным только из приложения запустившем FTPUSE
  • /PORT - номер порта FTP-сервера. Порт 21 используется по умолчанию.
  • /DEBUG - отладка.
  • /DELETE - удаление смонтированого диска.

Далее скриншот подключенных дисков, тот, который з буквой "U" подключен через ftpuse и доступен из командной строки как обычный локальный диск:

Решил немного усовершенствовать свой powershell скрипт, который реализует охрану при помощи wifi-камеры. Решил записывать на ftp-сервер видео-поток с камеры, когда дома никого нет. То есть кроме оповещения по email (когда вдруг что-то зашевелилось в кадре), видео будет постоянно записываться.

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

Подключение FTP стандартными средствами Windows

В Windows можно стандартными средствами подключить ftp как сетевой диск, но такой сетевой диск будет работать только из проводника (explorer), в командной строке он будет не доступен.

Опишу, как стандартными средствами подключить ftp в качестве сетевого диска.

Жмем правой кнопкой мышки на иконке «Мой компьютер» и выбираем в контекстном меню пункт «Подключить сетевой диск…». В открывшемся окне жмем на « Подключение к веб-сайту, на котором вы можете хранить документы и изображения «:

OGVGp8S3IPI1.jpg.pagespeed.ce.IsQEZzlPIf.jpg

В следующих двух окнах жмем по кнопка «Далее» и указываем адрес ftp-сервера:

ZFEuMYCxGkQ1.jpg.pagespeed.ce.svtbx35_Bd.jpg

Снова жмем кнопку далее, снимаем галочку возле «Анонимный вход» и указываем ftp-логин, жмем кнопки далее, готово.

В конце у Вас запросит пароль, вводим его и ставим галочку «Сохранить пароль», чтобы каждый раз его не вводить.

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

Подключение FTP через FTPUSE

После установки утилиты чтобы подключить сетевой диск нужно ввести команду (покажу на своем примере):

В работе программы есть два нюанса:

  • на подключенном диске всегда будет отображаться 512 МБ свободного места, не зависимо от того, сколько там его осталось. Но мне это не мешает.
  • если закрыть окно командной строки из которого запускался FTPUSE, то диск размонтируется. Мне это не мешает, так консоль у меня всегда запущена. Если же окно все-таки хочется скрыть, то запускаем FTPUSE вот такой командой:

Ну и краткая информация о параметрах FTPUSE:

FTPUSE devicename [ftphostname[/remotepath] [password]] [/USER:username] [/NOPASSIVE] [/OWNERACCESSONLY] [/PORT:portnumber] [/DEBUG] [[/DELETE]]

  • devicename — имя подключаемого/отключаемого диска
  • ftphostname — адрес FTP сервера
  • remotepath — имя удаленной папки, которая будет использоваться родительская папка создаваемого диска
  • password — пароль для подключения к FTP серверу
  • /USER — логин на FTP сервере
  • /NOPASSIVE — активное соединение с FTP сервером (active mode)
  • /OWNERACCESSONLY — делает созданный диск доступным только из приложения запустившем FTPUSE
  • /PORT — номер порта FTP-сервера. Порт 21 используется по умолчанию.
  • /DEBUG — отладка.
  • /DELETE — удаление смонтированого диска.

Далее скриншот подключенных дисков, тот, который з буквой «U» подключен через ftpuse и доступен из командной строки как обычный локальный диск:

9qQseFtJK_s1.jpg.pagespeed.ce.vpT2fNdjmC.jpg

Понравилось? =) Поделись с друзьями:

FTP ресурс как диск в Windows

Организовал себе сетевое хранилище дома. На домашних компьютерах сразу подцепил его как сетевой диск и захотелось такой же диск на работе. Естественно, из интернета доступ к сетевому хранилищу будет через FTP. Маршрут на роутере прописал и доступ к нему по FTP с работы получил. Тут я и наткнулся на грабли, стандартными средствами Windows нельзя подключить FTP сервер как диск.

Стандартными средствами Windows можно только сделать ярлык на этот FTP, при открытие которого по сути будет открываться Internet Explorer. Это меня не устраивало, ибо нужно было подцепить именно как диск с буквой. Есть несколько программ, которые способны подключать FTP сервера как диски в Windows (например FTPdrive), но все они страдают одной проблемой — невозможность нормального запуска файлов прямо с FTP диска, то бишь либо их вообще нельзя запускать, либо они страдают кэшированием файла перед открытием, особенно это заметно при попытках смотреть видео с FTP диска.

Поскольку сайт авторов на буржуйском языке, постараюсь поподробнее описать её вам.

Как я уже говорил утилита работает через командную строку. И имеет следующий синтаксис:

Описание параметров:devicename Задает имя подключаемого/отключаемого дискаftphostname Задает имя, IP адрес или IPv6 адрес FTP сервера, который надо подключить remotepath Задает имя удаленной папки, которая будет использоваться родительская папка создаваемого дискаpassword Задает пароль необходимый для подключения к FTP серверу /USER Задает имя пользователя для авторизации на FTP сервере/NOPASSIVE Создает активное соединение с FTP сервером (active mode) /OWNERACCESSONLY Делает созданный диск доступным только из приложения запустившем FTPUSE/PORT Задает TCP номер порта который будет использоваться для соединения с FTP сервером. TCP порт 21 используется по умолчанию. /DEBUG Режим отладки. /DELETE Удаляет подключенный диск.

Вот пример просто подключения к FTP без пароля

А вот пример подключения к моему сетевому хранилищу дома

Если закрыть окно с которого запускался FTPUSE диск отключится.

Для запуска в фоне можно использовать следующие команды:

Задайте вопрос Быстрый доступ

Вопрос

Ответы

2) Настраиваете бекап на расположение вида \пкпапка_для_бекапов

The opinion expressed by me is not an official position of Microsoft

  • Изменено 27 ноября 2015 г. 13:31
  • Помечено в качестве ответа 8 декабря 2015 г. 13:49

27 ноября 2015 г. 13:30 Ответить | Цитировать

The opinion expressed by me is not an official position of Microsoft

  • Помечено в качестве ответа 8 декабря 2015 г. 13:49

27 ноября 2015 г. 14:56 Ответить | Цитировать

Все ответы

  • А smb вам чем не протокол? В чем принципиальная позиция использования именно не профильных протоколов?

The opinion expressed by me is not an official position of Microsoft

27 ноября 2015 г. 13:11 Ответить | Цитировать

2) Настраиваете бекап на расположение вида \пкпапка_для_бекапов

The opinion expressed by me is not an official position of Microsoft

  • Изменено 27 ноября 2015 г. 13:31
  • Помечено в качестве ответа 8 декабря 2015 г. 13:49

27 ноября 2015 г. 13:30 Ответить | Цитировать

Ну так я и хотел изначально сделать. Но проблема в моём сервере. Он никак не хочет «сделаться видимым» в сетевом окружении. Посему пришлось импровизировать с filezilla.

Поскольку сайт авторов на буржуйском языке, постараюсь поподробнее описать её вам.

Как я уже говорил утилита работает через командную строку. И имеет следующий синтаксис:

Описание параметров:
devicename
Задает имя подключаемого/отключаемого диска
ftphostname
Задает имя, IP адрес или IPv6 адрес FTP сервера, который надо подключить
remotepath
Задает имя удаленной папки, которая будет использоваться родительская папка создаваемого диска
password
Задает пароль необходимый для подключения к FTP серверу
/USER
Задает имя пользователя для авторизации на FTP сервере
/NOPASSIVE
Создает активное соединение с FTP сервером (active mode)
/OWNERACCESSONLY
Делает созданный диск доступным только из приложения запустившем FTPUSE
/PORT
Задает TCP номер порта который будет использоваться для соединения с FTP сервером. TCP порт 21 используется по умолчанию.
/DEBUG
Режим отладки.
/DELETE
Удаляет подключенный диск.

Вот пример просто подключения к FTP без пароля

А вот пример подключения к моему сетевому хранилищу дома

Если закрыть окно с которого запускался FTPUSE диск отключится.

Для запуска в фоне можно использовать следующие команды:

ftp как локальный диск

FTP – как сетевой диск на Windows

Ранее рассматривался способ FTP -доступа по средствам бесплатной программы « Filezilla », подробно был описан момент подключения к хостинг-директории сайта. Ниже сделаем обзор подключения с помощью стандартных инструментов Windows , добавив FTP адрес в качестве сетевого диска.

Вместо послесловия

Действия по добавлению сетевого диска рассматривались на операционной системе Windows 7, при работе в более поздних версиях могут присутствовать незначительные отличия в названиях.
Собственно, по окончании процесса сетевое размещение будет доступно из директории «Компьютер» наряду с другими дисками. Двойной клик, и Вы снова можете управлять содержимым своего FTP -каталога.

Решил немного усовершенствовать свой powershell скрипт, который реализует охрану при помощи wifi-камеры. Решил записывать на ftp-сервер видео-поток с камеры, когда дома никого нет. То есть кроме оповещения по email (когда вдруг что-то зашевелилось в кадре), видео будет постоянно записываться.

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

Подключение FTP стандартными средствами Windows

В Windows можно стандартными средствами подключить ftp как сетевой диск, но такой сетевой диск будет работать только из проводника (explorer), в командной строке он будет не доступен.

Опишу, как стандартными средствами подключить ftp в качестве сетевого диска.

ftp как локальный диск

ftp как локальный диск

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

Подключение FTP через FTPUSE

После установки утилиты чтобы подключить сетевой диск нужно ввести команду (покажу на своем примере):

В работе программы есть два нюанса:

  • на подключенном диске всегда будет отображаться 512 МБ свободного места, не зависимо от того, сколько там его осталось. Но мне это не мешает.
  • если закрыть окно командной строки из которого запускался FTPUSE, то диск размонтируется. Мне это не мешает, так консоль у меня всегда запущена. Если же окно все-таки хочется скрыть, то запускаем FTPUSE вот такой командой:

Ну и краткая информация о параметрах FTPUSE:

FTPUSE devicename [ftphostname[/remotepath] [password]]
[/USER:username]
[/NOPASSIVE]
[/OWNERACCESSONLY]
[/PORT:portnumber]
[/DEBUG]
[[/DELETE]]

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

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

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

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

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

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

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

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

ftp cherez komandnuyu stroku cmd 2

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

ftp cherez komandnuyu stroku cmd 3

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

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

ftp cherez komandnuyu stroku cmd 4

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

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

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

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

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

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

ftp cherez komandnuyu stroku cmd 5

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

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

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

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

ftp cherez komandnuyu stroku cmd 6

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

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

Читайте также: