3

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

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

Обычно, когда я хочу что-то отредактировать на своем веб-сайте, я захожу в каталог FTP, копирую файл, который хочу отредактировать, в свою папку « Downloads » (это может быть любая локальная папка, я просто нахожу это легко), редактирую то, что мне нужно , а затем переместить / скопировать его обратно. У меня есть только небольшой веб-сайт, и я сам все его кодировал, поэтому мне не нужно беспокоиться ни о чем на стороне сервера.

Раньше я пытался использовать командный файл для автоматического входа на FTP-сервер и открытия public-html в окне проводника, но я не мог заставить это работать. Мне интересно, можно ли в автономном пакетном файле скопировать все новые / измененные файлы из определенной папки на подключенном сетевом диске в соответствующую папку на FTP-сервере. Я предполагаю, что я могу использовать ftp://server.com/public_html/folder/folder в качестве пути, и Windows будет использовать Explorer для этого. Если бы он также мог войти на сервер, это было бы полезно, но я могу войти вручную.

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

Сценарий PowerShell или VBS также подойдет мне; Мне просто нужно иметь возможность разрабатывать автономный файл, который не имеет никаких зависимостей (то есть я не хочу устанавливать клиент или какие-либо пакеты программного обеспечения).

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

2 ответа2

7

Все операции, которые вы упоминаете в своем посте, могут быть автоматизированы с помощью сценария WinSCP. Вы пробовали WinSCP? Это супер-мощный и бесплатный с тоннами поддержки. Ниже приведен пример сценария того, как будут выглядеть ваши действия:

# Connect
open ftp://user:password@example.com/ 
# Change remote directory
cd /home/user
# Force binary mode transfer
option transfer binary
# Download file to the local directory d:\
get examplefile.txt d:\
# This will Upload whole folder files and subfolders to current working directory
put d:\
# Disconnect
close
# Exit WinSCP
exit

Затем вы просто вызываете скрипт из командного файла.

2

Из вашего вопроса, я полагаю, вы спрашиваете следующее:

Скопируйте все новые / измененные файлы из определенной папки на подключенном сетевом диске в соответствующую папку на FTP-сервере.

Шаг 1.

Использование net use для подключения сетевого расположения в качестве имени диска (или использование мастера Windows для сопоставления сетевого диска)

net use Z: \\MyServer\MyShare\

Где Z: буква диска, которую вы хотите использовать

Шаг 2.

Только на этот раз подключите другой диск с другой буквой, сделайте его FTP-сервером (см. Скриншот)

Мастер подключения сетевого диска

В итоге у вас будет два диска, на которые вы сможете копировать файлы с помощью проводника Windows, но также и из командной строки:

copy Z:\myFiles Y:\public_html\folder\folder

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .