Мне нужно загрузить полную папку, используя FTP. Есть ли возможность перенести папку и все ее содержимое сразу?
Мне нужно загрузить полную папку, используя FTP. Есть ли возможность перенести папку и все ее содержимое сразу?
Ответы:
Если вы используете стандартный ftp-клиент из MPUT
командной строки, команда позволит вам перенести все файлы, соответствующие шаблону (shell-glob-style), поэтому MPUT *
отправит все файлы в текущем каталоге. Существует также MGET
для получения файлов, соответствующих шаблону.
По умолчанию оба MPUT
и MGET
будут запрашивать, передавать ли каждый файл перед этим. Возможно, вы захотите отключить подсказку с помощью команды «PROMPT» (без аргументов; это переключение).
Вы можете использовать ncftpput. Сделайте следующее:
Установите ncftp:
yum install ncftp
ням строчная.
В качестве альтернативы:
apt-get install ncftp
2. Выполните следующую команду:
ncftpput -R -v -u "ftp-username" ftp.website.com ftp-upload-path local-path/*
Используйте FTP-клиент, такой как LeechFTP или FileZilla или что-то подобное. Многие люди клянутся CuteFTP, но это условно-бесплатная последняя проверка, которую я проверил. Вся поддержка переноса всей папки, включая структуру каталогов.
Простой учебник для других новичков Windows, таких как я, которые попали сюда:
Самый простой способ загрузить всю папку (со всеми подпапками и файлами в них):
ncftpput -u * yourUserNameHere * -p * yourUserPasswordHere * -R * www.yourWebsite.com * / _C: \ yourFolderDirectoryHere \\ * _(одной строкой).
Обратите внимание, что:
-R
флаг для "рекурсивный"; это делает команду копировать все подпапки рекурсивно/
(косая черта) является корневым каталогом вашего сайтаC:\yourFolderDirectoryHere\*
выбирает все внутри C:\yourFolderDirectoryHere
Я предложу ответ, который - хотя это чисто грубая сила и ни в коем случае не элегантный - был единственным, что сработало для меня в командной строке. Я создал список файлов и поместил их в скрипт:
создать свой список файлов:
find my-dir -exec echo "put /Users/username/"{} {} \;
скопируйте и вставьте их в скрипт:
#!/bin/bash
hostname="my-ftp-host"
username="username"
password="password"
ftp -in $hostname <<EOF
quote USER $username
quote PASS $password
binary
cd 123456
{COPY THE LIST HERE}
quit
EOF
Проверьте это .
Вы также можете программно создать папку на сервере , а затем загрузить все файлы в эту новую папку.
FileZilla отлично подходит для этого. Если вы не хотите ничего скачивать / устанавливать, это можно сделать с помощью Internet Explorer. Перейдите в дополнительные параметры и выберите Enable FTP folder view (outside of Internet Explorer)
. Затем вы можете указать окно обозревателя на своем FTP-сервере и перетаскивать файлы и папки между окнами обозревателя.
Firefox имеет плагин под названием FireFtp, который является хорошим FTP-клиентом.
Целевой каталог - это zip-файл. Вы можете скопировать полный zip-файл на ftp-сервер, используя следующий код.
//Taking source and target directory path
string sourceDir = FilePath + "Files\\" + dsCustomer.Tables[0].Rows[i][2].ToString() + "\\ConfigurationFile\\" + dsSystems.Tables[0].Rows[j][0].ToString() + "\\XmlFile";
string targetDir = FilePath + "Files\\Customers\\" + CustomerName + "\\" + SystemName + "\\";
foreach (var srcPath in Directory.GetFiles(sourceDir))
{
//Taking file name which is going to copy from the sourcefile
string result = System.IO.Path.GetFileName(srcPath);
//If that filename exists in the target path
if (File.Exists(targetDir + result))
{
//Copy file with a different name(appending "Con_" infront of the original filename)
System.IO.File.Copy(srcPath, targetDir + "Con_" + result);
}
//If not existing filename
else
{
//Just copy. Replace bit is false here. So there is no overwiting.
File.Copy(srcPath, srcPath.Replace(sourceDir, targetDir), false);
}
}
Мой ответ - это вариант ответа @dgig.
Вы можете перечислить все файлы и сохранить их (включая команду put) в файл:
find my-dir -exec echo "put /Users/username/"{} {} > list.txt \;
а затем используйте sftp для обработки файла:
sftp -C -b sftpbatchfile.txt name@server
-C
для сжатия, -b
для пакетного файла
sftp
Программа использует протокол SFTP , который другой протокол , хотя он имеет несколько общих букв. И вы не редактировали enter code here
остаток.